首页 > 代码库 > 学习lucene5.5.4的笔记
学习lucene5.5.4的笔记
说说几个常用的类。
OpenMode是一个枚举类,有三个元素,分别表示IndexWriter的打开模式。
CREATE:每次打开IndexWriter时清空当前索引目录下的索引,再新建索引。
APPEND:打开IndexWriter时在当前索引目录下进行追加索引。
CREATE_OR_APPEND:打开IndexWriter时如果当前索引目录下没有索引,那么新建索引,否则进行追加索引。
IndexWriterConfig默认的openMode是OpenMode.CREATE_OR_APPEND。
我使用的这个版本自带的有中文分词器,名为SmartChineseAnalyzer,聪明的中文分词器,它不在核心包,可以在smartcn这个包内找到,其实并不那么聪明,它的默认停词只有标点符号,效果并不好,使用时推荐自己去加载停词库,这里有个停词库,分享给大家。
Analyzer analyzer= new SmartChineseAnalyzer(WordlistLoader.getWordSet(IOUtils.getDecodingReader(Searcher.class, "stopword.txt",StandardCharsets.UTF_8), "//")); //stopword.txt中就是我的停词
Field是添加到索引文档中的数据,称为域(相当于关系型数据库表中的字段)。
Field有很多的扩展子类,如IntField,StringField等,它们大部分默认都是可索引的,如果这个域不需要被索引,那么我们可以去操作FieldType解决。
IndexWriter拥有索引的增删改功能。
所谓改并不像关系型数据库中那样,lucene是删了后在新赠。
最好不要想着使用索引文档的id去删和改一个文档,因为lucene对这个支持的不多(可能是我刚入门,至少api上相关的方法寥寥无几),最好是在建立索引时自己去维护一个id域,通过term或者查询这个id来精确的去删除或改。
学习lucene5.5.4的笔记
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。