安装solr中文分词系统

来源:互联网 发布:淘宝二手书可靠吗 编辑:程序博客网 时间:2024/06/05 18:44

Solr是一个国外的开源项目,要想solr能处理中文,必须安装中文分词系统,步骤如下:

1. 下载分词器 (从http://code.google.com/p/mmseg4j/):
    # wget mmseg4j.googlecode.com/files/mmseg4j-1.9.1.zip

2. 下载词库:
    # wget mmseg4j.googlecode.com/files/data.zip

3. 拷贝mmseg4j的jar包到solr目录里:
    # unzip mmseg4j-1.9.1.zip
    # cd mmseg4j-1.9.1/dist
    # cp *jar /var/lib/tomcat6/webapps/solr/WEB-INF/lib

4. 增加词库:
    # mkdir -p /opt/solr-tomcat/solr/dic
    # unzip data.zip
    # cp data/*dic /opt/solr-tomcat/solr/dic
    # chown -R tomcat:tomcat /opt/solr-tomcat/solr/dic

5. 修改 solr 的配置文件:

进入我们的core配置目录(/opt/solr-tomcat/solr/mediskin/conf), 打开schema.xml文件,找到合适位置,增加:
   <fieldtype name="textComplex" class="solr.TextField" positionIncrementGap="100">
      <analyzer>
        <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="dic">
        </tokenizer>
      </analyzer>
    </fieldtype>

    <fieldtype name="textMaxWord" class="solr.TextField" positionIncrementGap="100">
      <analyzer>
        <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="dic">
        </tokenizer>
      </analyzer>
    </fieldtype>

    <fieldtype name="textSimple" class="solr.TextField" positionIncrementGap="100">
      <analyzer>
        <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="/opt/solr-tomcat/solr/dic">
        </tokenizer>
      </analyzer>
    </fieldtype>

再打开 solrconfig.xml, 找到合适位置,增加:
  <requesthandler name="/mmseg4j" class="com.chenlb.mmseg4j.solr.MMseg4jHandler">
    <lst name="defaults">
      <str name="dicPath">
        dic
      </str>
    </lst>
  </requesthandler>

6 重启tomcat6, 检查中文分词是否能正常工作: 
    # service tomcat6 restart

在浏览器里访问solr页面,在面菜单下方选择刚配置好的core, mediskin,选择Analysis。在出现的页面里,Field Value中输入"夏季皮炎如何治疗",在Analyse Fieldname / FieldType里,选择 textMaxWord,按Analyse Value,应该能看到正确的分词效果。

0 0
原创粉丝点击