November 26, 2006
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的介绍和安装
- http://nio.infor96.com/archives/category/programmer/lucene/,Nio’s Weblog。这位老大写的百度 MP3 批量下载程序 也很好用。
- Lucene入门之--运行Lucene-demo
- LUCENE.COM.CN 中国
模型, 理论
-
Lucene的特性分析 , 对Lucene的索引结构有一些分析。
- InformationRetrieval - Jakarta-lucene Wiki , 有不错的链接,比如Stanford和University of Texas的 Information Retrieval 课程。
- 学术报告 Integrating term relationships into language models for information retrieval
Programming with Lucene
- 一个关于 Lucene 的演讲: 是由 Lucene 最初的作者 Doug Cutting 在 Pisa 大学所作。
Filed by
charlie
at 7:25 am under Engineer, chemoinformatics


