之前使用的CJKAnalyzer分词器只能进行2字以上的搜索,比如说搜索中国可以搜出结果,但是搜索中,就没有结果。
因为CJKAnalyzer是二元分词,所以说单字搜索失效。
所以换做一元分词StandardAnalyzer或者ChineseAnalyzer
上面两个一元分词器虽然大体一样,但是区别就是ChineseAnalyzer会把文字中的数字给过滤掉。
代码块
下面是Spring注入的包
<bean id="analyzer" class=" org.apache.lucene.analysis.standard.StandardAnalyzer" destroy-method="close">
<constructor-arg><util:constant static-field="org.apache.lucene.util.Version.LUCENE_36"/></constructor-arg>
</bean>
记得在更换分词器后需要删除一下Lucene生成的二进制文件,重新生成就好。