ezeke 发表于 2016-12-15 09:31:55

solr(五)同义词加中文分词

  同义词加中文分词的话可以采用mmseg4j,mmseg4j的配置步骤如下:
  1: 下载地址:
  http://code.google.com/p/mmseg4j/downloads/list.
2.解压mmseg4j-1.9.0.v20120712-SNAPSHOT.zip
           用到下面文件:
               mmseg4j-all-1.9.0.v20120712-SNAPSHOT.jar 放到之前安装$CATALINA_HOME/webapps/solr/WEB-INF/lib/目录下
                data 目录,建议拷贝下面内容到$SOLR_HOME\collection1\conf\mm4jdic
3.设置mmseg4j中文分词和同义词
           修改$SOLR_HOME/collection1/conf/schema.xml,在<types></types>中增加如下内容:

            

<fieldType name="textMaxWord" class="solr.TextField" >
<analyzer type="index">
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word"/>
<filter class="solr.StopFilterFactory" ignoreCase="false" words="stopwords.txt"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.StopFilterFactory" ignoreCase="false" words="stopwords.txt"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
</fieldType>
      同样要定义相关类型的字段
   

<field name="title_copy" type="textMaxWord" indexed="true" stored="true" termVectors="true"/>
   4: 导入数据库索引,这个可以参看dataImport,至于synonyms的配置可以参看上一贴没做改动。
   测试输入日本,结果显示了都是相关中国的内容,基本达到了同义词的效果。
  

 
页: [1]
查看完整版本: solr(五)同义词加中文分词