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"))来创建