因为听说lucene的自带分词对中文的支持不太好,,所以选择IKAnalyzer.效果确实比自带的好些。
配置中遇到一些版本问题。
<dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId> <version>4.10.3</version> </dependency> <dependency> <groupId>com.janeluo</groupId> <artifactId>ikanalyzer</artifactId> <version>2012_u6</version> </dependency>
这是我使用的版本,可作为参考。
在进行索引删除时,利用term删除,不报错但实际上并没有删除。后来查资料有说,lucene要用5.5版本的,设置,通过FieldType中的tokenized属性来控制的。然而,我换成5.5.0之后,和我的2012_u6版本有匹配不上了。。最后又改回去,查看其它删除索引的文章,最后发现,使用 document.add(new Field("id",ids[i],Field.Store.YES,Field.Index.NOT_ANALYZED_NO_NORMS));是可以的。喜大普奔。
参考:http://zhh9106.iteye.com/blog/2036699