lucene 从2.4.0—3.6.0—4.3.1版本升级

一、从2.4升级到3.6

替换原因:由于使用IBM的jdk导致了查询出现不稳定现象,原因无法找到,只好升级版本,毕竟版本很低

1)替换中文分词器,由原来的MMAnaylze替换为IKAnaylze

2)将indexWriter中的相关配置封装到了IndexConfig对象中,在构造IndexWriter的对象时将配置对象传入即可,这样所有配置信息都封装到了配置对象,管理和维护都比较方便

3)optimize方法已经被废弃,3.6自身做了更好的优化

4)查询结果中对doc的对象中的索引项的值进行修改的方法进行了弃用,如doc.getField("content").setValue("testContent");

5)提供了批量索引操作和更新索引方法

6)主要类的构造中添加了版本号参数,如Version.Lucene_36


二、从3.6升级到4.3

1)optimize方法已经被删除

2)查询结果中对doc的对象中的索引项的值进行修改的方法进行了删除,使用迭代器进行修改其值

3)提供了批量索引操作和更新索引方法

4)主要类的构造中添加了版本号参数,如Version.Lucene_43

5)创建索引时,以前采用参数配置是否分词,现在采用StringField和TextField区分,前者不分词,后者分词,内部进行了优化

6)查询器对象IndexSearch不需要手动写代码close,组件自动处理

7)Directory类对象采用FSDirectory.open(new FIle("filePath"))来创建

原文地址:https://www.cnblogs.com/jiangu66/p/3190298.html