看lucene主页(http://lucene.apache.org/)上目前lucene已经到4.9.0版本了, 参考学习的书是按照2.1版本讲解的,写的代码例子是用的3.0.2版本的,版本
的不同导致有些方法的使用差异,但是大体还是相同的。
参考资料:
1、公司内部培训资料
2、《Lucene搜索引擎开发权威经典》于天恩著.
Lucene使用挺简单的,耐心看完都能学会,还有源代码。
一、创建索引的基本方式
所有开源搜索引擎的基本架构和原理都是类似的,Lucene也不例外,用它来建立搜索引擎也是要解决的四个基本问题:抓取数据、解析数据、创建索引和执行搜索。
1、理解创建索引的过程
参考书中对索引的创建有一个很形象的比喻:
创建索引的过程可以类比为写文集。下面以文集的写作为例进行讲解,文集里面有许多文章,每一篇文章包括标题、内容、作品名称、写作时间等信息。
我们采用以下的方式来写这本文集:先写文章,再将文章整合起来。
首先为每一篇文章添加标题、内容、写作时间等信息,从而写好一篇文章。
然后把每一篇文章添加到书里面去,这样文集就写好了。
文集的结构如下图所示:按从左到右的方向,是读文集,即打开一本书,然后翻阅里面的文章;按从右到左的方向是写文集。
创建索引的过程如下:
(1)、建立索引器IndexWriter,这相当于一本书的框架
(2)、建立文档对象Document,这相当于一篇文章
(3)、建立信息字段对象Field,这相当于一篇文章中的不同信息(标题、正文等)。
(4)、将Field添加到Document里面。
(5)