您的位置:首页 > 其它

安装solr中文分词系统

2014-07-19 17:28 447 查看
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,应该能看到正确的分词效果。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: