标签:
通常情况下,我们根据整个字段来索引数据,字段最长时,也不过十个字;但是还有一种情况,如果我们索引的是一篇文章呢?这时候如何处理这个字段,分词器很好的解决了这个问题。solr服务器默认为我们提供了分词组件,但是Apache Solr提供的分词器对中文不太友好,举例如下:
下载以下三个jar包,mmseg4j-analysis-1.9.1.jar, mmseg4j-core-1.9.1.jar,mmseg4j-solr-1.9.1.jar,放到目录:/usr/local/solr-4.7.2/example/solr-webapp/webapp/WEB-INF/lib。
2.1 配置代码如下:
<!-- mmseg4j--> <fieldType name="text_mmseg4j_complex" class="solr.TextField" positionIncrementGap="100" > <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="dic"/> </analyzer> </fieldType> <fieldType name="text_mmseg4j_maxword" class="solr.TextField" positionIncrementGap="100" > <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="dic"/> </analyzer> </fieldType> <fieldType name="text_mmseg4j_simple" class="solr.TextField" positionIncrementGap="100" > <analyzer> <!-- <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="n:/OpenSource/apache-solr-1.3.0/example/solr/my_dic"/> --> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="dic"/> </analyzer> </fieldType> <!-- mmseg4j-->
2.2 索引效果如下:
添加测试数据,内容如下:
3.2 查看搜索结果
四 总结
中文分词器可以提高句子的索引效率,项目中应该合理使用。
标签:
原文地址:http://blog.csdn.net/u010942465/article/details/51366423