您的位置:首页 > 运维架构 > Apache

Apache Lucene 5.1.0 入门使用篇

2015-05-21 08:25 281 查看
我也是刚刚接触lucene,文中若出现错误欢迎大家批评指正。

Lucene是apache软件基金会 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。(刚刚接触的建议看看百度或是官方文件说明)

关于版本问题:网上有一些4.7和4.10版本的教程,建议读读,不过lucene库中很多语法、函数已经变更,这个问题会在代码中有一些说明。

这里主要说说怎么用lucene。

准备工作:

下载Lucene 5.1.0文件:http://apache-mirror.rbc.ru/pub/apache/lucene/java/5.1.0/ ,解压zip到本地即可。

我用的是NetBeans IDE, 编辑个项目和java类即可。

为编辑器增加jar


在项目里中最基础的四个包:


ok,代码行进中···

官方的demo还是很有用的,给出自述文档http://lucene.apache.org/core/5_1_0/index.html ,需要什么拿什么吧。这里说一下Lucene 5.1.0 demo API(http://lucene.apache.org/core/5_1_0/demo/overview-summary.html#overview_description),里面有关于使用命令提示符来操作lucene的部分,即在系统CLASSPATH里面添加那四个文件lucene-core-{version}.jar. lucene-queryparser-{version}.jar, lucene-analyzers-common-{version}.jar and lucene-demo-{version}.jar

为了操作简便,可以在指定文件夹随便输入一些英文文本,并以txt保存起来,输入以下命令:



lucene帮你自动建立索引,要是设置都正确,就会出现下面的结果,表明索引已经建立



然后键入命令
java org.apache.lucene.demo.SearchFiles


这样就可以搜索想搜的词了,例如:



就是这么简单,结果就有了!

写在最后:

有了上面的结果,其实这才刚刚开始。

文中用到的语料库是Reuters - 21578(http://kdd.ics.uci.edu/databases/reuters21578/reuters21578.html)里面大概存储了2000000 篇文章来自 New York Times. 有兴趣的可以试试,这个语料库实在太万恶了!!详情请见Reuters-21578数据集预处理遇到的血泪史

还有两本书:

Lucene In Action(第2版)中文

操作和大致的流程里面都有,遗憾的是版本是针对3.0的,有些句法句式改了。

信息检索导论中文译本(Introduction to Information Retrieval)

基础理论学习,对于搜索引擎的初学者里说,本书是一本绝对值得阅读的书目。

Good luck!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息