继续介绍Lucene 5.5.0 搜索索引 ,完成搜索索引的操作 大概需要以下八个步骤
一、创建Directory
二、根据Directory对象创建IndexReader对象
三、根据IndexReader对象创建IndexSearcher对象
四、创建query对象
五、根据query对象获取scoreDocs对象
六、循环遍历scoreDocs获取document对象
七、根据document对象 获取每一个Field对象值
八、关闭DirectoryReader、Directory对象
代码如下:
测试结果
个人理解:
搜索索引步骤代码不用细讲,都是这些条条框框的,没什么好解释的,主要说一下就是Query类的构造,lucene分为了好几类:
TermQuery 常用的query查询类型,单个项构建,项值区分大小写,传递的搜索项和构建索引项应该一致。
BooleanQuery 组合搜索 允许多个关键字组合搜索
PhraseQuery 短语搜索 根据零碎的短语组合成新词语进行搜索
PrefixQuery 前缀搜索 比如搜索姓王的有多少个
RangeQuery 范围内的搜索 比如其实日期到结束日期的搜索
其他query类的实例,没有亲自尝试所以不敢妄加断言,请各位自尝吧!
这篇关于索引搜索就先补充到这里,后续若要有比较重要的知识点或者遗漏的,我会去查阅调试然后补充完成。没有自己尝试成功的,我是不会拿出来分享或者记录的。
先到这里吧。