1、我们去分析
![](/icons/41679yi.gif)
下该段
![](/icons/41679chengxu.gif)
![](/icons/41679dou2.gif)
a) 首先我们创建
![](/icons/41679yi.gif)
个类IndexWriter,该类是lucene创建索引
![](/icons/41679de.gif)
核心
![](/icons/41679dou.gif)
其主要功能是将所有
![](/icons/41679de.gif)
数据源所有内容
![](/icons/41679dou.gif)
经过分词处理
![](/icons/41679dou.gif)
创建成索引格式
![](/icons/41679de.gif)
文件(同数据库想对比
![](/icons/41679dou.gif)
![](/icons/41679yi.gif)
个索引文件就相当
![](/icons/41679yi.gif)
张表)
b) 然后
![](/icons/41679dou.gif)
我们定义了document类
![](/icons/41679dou2.gif)
Lucene是将所有
![](/icons/41679de.gif)
数据源都转换成Document类型
![](/icons/41679de.gif)
文件
![](/icons/41679dou.gif)
lucene内部只能识别出Document类型
![](/icons/41679de.gif)
文件
![](/icons/41679dou2.gif)
(同数据库相比
![](/icons/41679de.gif)
话
![](/icons/41679dou.gif)
Document就像
![](/icons/41679yi.gif)
个表
![](/icons/41679de.gif)
每
![](/icons/41679yi.gif)
条记录
![](/icons/41679dou2.gif)
)
c) 然后我们定义了
![](/icons/41679yi.gif)
些File类
![](/icons/41679dou.gif)
其中File是作为真实
![](/icons/41679de.gif)
数据存储使用
![](/icons/41679dou.gif)
每
![](/icons/41679yi.gif)
个需要索引
![](/icons/41679de.gif)
内容都对应
![](/icons/41679yi.gif)
个Filed
![](/icons/41679dou.gif)
(和数据库相比
![](/icons/41679dou.gif)
Field就相当
![](/icons/41679yi.gif)
![](/icons/41679yi.gif)
条记录
![](/icons/41679de.gif)
![](/icons/41679yi.gif)
个属性和其值)
![](/icons/41679dou2.gif)
d) 然后将Field增加到Document中
![](/icons/41679dou.gif)
其中每个Document可以增加到多个Field对象
![](/icons/41679dou2.gif)
然后将所有
![](/icons/41679de.gif)
Doc交给IndexWriter去创建索引
![](/icons/41679dou.gif)
创建完成后
![](/icons/41679dou.gif)
如图
![](/icons/41679yi.gif)
![](http://www.crazycoder.cn/WebFiles/20094/07b77ae3-e3c9-4b0c-b38c-6ab7008a026c.g<img src='/icons/41679if.gif' />)
图片看不清楚?请点击这里查看原图(大图)
![](/icons/41679dou2.gif)
图
![](/icons/41679yi.gif)
lucene索引后
![](/icons/41679de.gif)
文件
E) 然后开始查询
![](/icons/41679dou.gif)
首先使用IndexReader来读取所创建目录下
![](/icons/41679de.gif)
索引文件
![](/icons/41679dou.gif)
然后创建
![](/icons/41679yi.gif)
个IndexSearch对象
![](/icons/41679dou.gif)
该对象主要功能就是从索引中查询
![](/icons/41679dou2.gif)
F) 然后定义查询策略
![](/icons/41679dou.gif)
本例中采用queryParse来查询
![](/icons/41679dou.gif)
然后循环
![](/icons/41679dou.gif)
将所有查询
![](/icons/41679de.gif)
结果打印出来