默认情况下 Apache Solr 是不支持中文检索的,如果文档中包含中文,必须用完整的一句中文才能检索出内容。
下面以 Apache Solr 的演示程序为例,注意:粗体部分是需要修改的地方。
找到如下三行:
<fieldType name=”text” class=”solr.TextField” positionIncrementGap=”100″>
<analyzer type=”index”>
<tokenizer class=”solr.WhitespaceTokenizerFactory“/>
修改为:
<fieldType name=”text” class=”solr.TextField”>
<analyzer type=”index” class=”org.apache.lucene.analysis.cjk.CJKAnalyzer”>
<tokenizer class=”org.apache.lucene.analysis.cjk.CJKTokenizer“/>
找到如下两行:
<analyzer type=”query”>
<tokenizer class=”solr.WhitespaceTokenizerFactory“/>
修改为:
<analyzer type=”query” class=”org.apache.lucene.analysis.cjk.CJKAnalyzer”>
<tokenizer class=”org.apache.lucene.analysis.cjk.CJKTokenizer“/>
修改完毕,重新运行 Apache Solr 就可以对中文进行检索了,原先已经导入的文档需要重新导入。
记住原先的配置中有个 positionIncrementGap=”100″ 一定要删除了,否则会有异常。
Recent Comments