主要参考文章: http://www.cnblogs.com/dyllove98/archive/2013/06/19/3144919.html
但是我利用了搜狗的语料库来进行测试:http://www.sogou.com/labs/dl/c.html
此次使用的是其mini版 demo而已嘛:)
主要代码可以参考来源的博客,基本上copy到eclipse之中就能用。本人小小改动了一下而已。
唯一想说的就是,本人打开lucene的压缩包之后,发现了数不清的jar 包,顿时就无语不知所措了~
实际上,对于一个普通的创建索引+搜索的任务,会需要下面几个包就可以了:
(1) core / lucene-core-4.6.1.jar
这个是核心类库,少不了的
(2) analysis \ common \ lucene-analyzers-common-4.6.1.jar
普通分词的类库。 其他的比如icu之中的jar包,是不同算法实现的。暂时没有深究
(3) queryparser \ lucene-queryparser-4.6.1.jar
这个是查询的时候需要的,如果仅仅是做分词、创建索引 无需这个jar包
运行LuceneSearch.java
其中我搜索的关键词是: 集团
结果:
正在检索关键字 : 集团
检索完成,用时17毫秒
这是第0个检索到的结果,文件名为:e:\lucene\file\10.txt
这是第1个检索到的结果,文件名为:e:\lucene\file\16.txt
--------------------------
作为对比,使用Apache Commons IO的FileUtils进行纯文件读并查询,结果如下:
e:\lucene\file\10.txt
e:\lucene\file\16.txt
耗时:26毫秒
因此可以看到,创建了索引的搜索速度还是要提高不少的。
PS: 这个搜索结果的时间,第一次可能会比较长,达到60+毫秒,那可能是因为需要把.java变成.class
最后贴一下我的项目截图: