最近需要做一个 Common File Reader 的 kettle 插件,希望这个插件可以读取例如 PDF, WORD, PPT, WPS 等常见格式文件的内容,今天已经实现了第一步,读取 PDF 的功能。
该插件是一个输入步骤, 它可以将读取到的 PDF 文件的每一页作为一行输入记录。下面是一个比较典型的应用例子:
[@more@]这是一个简单的文件检索流程,可以用于小批量的文件检索,检索的输入,输出和规则都可以自定义,在这个例子里,我们可以这样定义:
输入1 是一个目录,通过一个表达式(如 .*.pdf$)来指定只读取一个目录下的所有扩展名是pdf 的文件。
输入2 是一个 excel 文件,只有一列,每行可以指定一个关键字,如下面的格式指定了2个关键字。
keyword
面积
股权转让
在 javascripte步骤 里可以指定简单的规则,返回的上下文的长度。
最后的 excel 输出保存了检索的结果,如下
可以看到检索结果包括,关键字,上下文,文件名,结果所在文档页数等。
对于大规模的文件检索,我们可以把 kettle 和 lucene 结合起来,先给文档建立索引,再在 javascript 里直接使用lucene 的api来进行检索,这样效率会有大幅提高。
不管检索如何实现,所用了 kettle 的流程后,再结合系统的作业调度,整个检索流程就可以每天自动运行了。如果再结合上文档的来源的自动获取,如从ftp 获取,或使用爬虫从网站抓取,整个一套的文档的获取,建索引,检索,重新发布的流程就可以建立起来了。
下载地址:http://www.xgndata.com/download.htm