work hard work smart

专注于Java后端开发。 不断总结,举一反三。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Solr 整合中文分词器mmseg4j

Posted on 2021-04-18 14:18  work hard work smart  阅读(87)  评论(0编辑  收藏  举报

Solr版本4.10.0

mmseg4j 2.2.0

1、为什么使用中文分词器

 

 

 如上图所示,输入“我是中国人”,结果是将每个字进行了分词。这个显然不是我们想要的结果。

 

2、使用中文分词器mmseg4j

在工程中增加

        <dependency>
            <groupId>com.chenlb.mmseg4j</groupId>
            <artifactId>mmseg4j-solr</artifactId>
            <version>2.2.0</version>
        </dependency>

 然后将mmseg4j-core-1.10.0.jar 和 mmseg4j-solr-2.2.0.jar 拷贝到/home/tools/tomcat8.0.45/webapps/solr/WEB-INF/lib

 

 

 

3、配置schema.xml

vi /home/files/solrhome/collection1/conf/schema.xml

增加

<!-- mmseg4j -->
    <fieldType name="text_zh" class="solr.TextField" positionIncrementGap="100">
        <span style="white-space:pre">  </span><analyzer>
        <span style="white-space:pre">          </span>
        <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" />
        <span style="white-space:pre">  </span></analyzer>
    </fieldType>

  

假设字段叫my_content需要支持中文分词,只需要定义示例filed节点如下:

 <field name="my_content" type="text_zh" indexed="true" stored="false" multiValued="true"/> 

然后重启solr服务器

 

4、测试