Lucene for Information Retrieval kicked off

Why Lucene

手头有一个项目,要做一些文本信息分析的工作。咨询了我心中的AI专家阿飞,告诉我要先从这些文本所属领域的关键词的识别开始。而且提到了了Lucene这个全文检索系统。甚善。

Lucene本身也是一个框架。而我要做的事情,在结构上和全文检索是基本一致的。都是要在一些资料(文档)中按照Query分析出相关的资料,甚至对资料中的这些信息作进一步的分析。其中要针对专业领域信息的特点,建立独特的索引结构,来辅助分析。总之,这个框架有很大的借鉴意义。

Lucene应用结构和实现结构

应用结构图

Lucene系统实现结构图

 

我要做的事情,就是使用Lucene这个框架,对我所关心的资料,进行索引和查询。

结合已有的领域知识词典,修改analyzer,用以生成特殊的索引结构。

修改queryPaser和search模块,将资料的信息索引中生成目标信息,希望能得到值钱的结果。查询的功能不是目标,被动或者主动将信息索引生成用户需要的结果,都是同一个道理。

Analyzer

在 一个文档被索引之前,首先需要对文档内容进行分词处理,这部分工作就是由 Analyzer 来做的。Analyzer 类是一个抽象类,它有多个实现。针对不同的语言和应用需要选择适合的 Analyzer。Analyzer 把分词后的内容交给 IndexWriter 来建立索引。

开始

第一个困难,不懂java。好在有一些文章可以参考,于是有一点简单的认识。
.jar的文件是已经编译好的java程序。把这个.jar文件路径加入系统变量CLASSPATH就可以在控制台运行这个java程序了。
C:\>java org.apache.lucene.demo.SearchFiles
当然前提是安装了java环境。

写其他java程序也可以通过类似的namespace直接引用Lucene提供的API了。

运行了一下,收集阅读了不少入门资料,就算是个开始吧。正如阿飞的建议,理论方法不是最重要的,重要的在于立即着手去尝试。

参考资料

对Lucene的介绍和安装

模型, 理论

Programming with Lucene

No comments yet. Be the first.

Leave a reply

Additional comments powered by BackType

Random posts

  • ClearCase的merge算法
  • list partterns in Matlab and Python
  • 中奖了,PS2
  • 最长的一年
  • 结婚照