Solr 在mmseg4j中使用中文停止词(的、地、得)
1. 从附件中下载中文停止词,如果有需要,你也可以下载英文停止词,操作步骤一样。
2. 可以在Tomcat的Solr 中的某个位置创建一个文件,比如叫stopwords.txt,此处我直接将stopwords.txt放在core目录下,即和schema.xml在同一个目录中。
3.将上面下载的中英文停止词加入到stopwords.txt中
4.如果你还不懂怎么在solr中配置mmseg4j,可参照我之前的博客。
5.修改schema.xml,
1)确保schema.xml中有这样的配置:
<filter class="solr.StopFilterFactory"ignoreCase="true"words="stopwords.txt" />
2) 在mmseg4j相应的field定义中加入该过滤器
<!-- mmseg4j--> <fieldType name="text_mmseg4j_complex"class="solr.TextField"positionIncrementGap="100" > <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory"mode="complex"dicPath="dic"/> <filter class="solr.StopFilterFactory"ignoreCase="true"words="stopwords.txt" /> </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"/> <filter class="solr.StopFilterFactory"ignoreCase="true"words="stopwords.txt" /> </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"/> <filter class="solr.StopFilterFactory"ignoreCase="true"words="stopwords.txt" /> </analyzer> </fieldType> <!-- mmseg4j-->
3)重启tomcat
测试你会发现相应的停止词如的、地、得等已经不会再影响分词结果。