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的配置可以参看上一贴没做改动。

 测试输入日本,结果显示了都是相关中国的内容,基本达到了同义词的效果。

 



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Solr 9.2.0默认使用Lucene 8.6.0,其自带了一个中文分词器SmartChineseAnalyzer。 在Solr中配置中文分词器的步骤如下: 1. 在solrconfig.xml中配置分词器 在schema.xml中定义field时,需要指定使用的分词器,例如: ``` <field name="text" type="text_cn" indexed="true" stored="true"/> ``` 在solrconfig.xml中,需要配置text_cn类型的分词器,例如: ``` <fieldType name="text_cn" class="solr.TextField"> <analyzer type="index"> <tokenizer class="org.apache.lucene.analysis.cn.smart.SmartChineseTokenizerFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="org.apache.lucene.analysis.cn.smart.SmartChineseTokenizerFactory"/> </analyzer> </fieldType> ``` 其中,tokenizer指定了使用的分词器,这里使用的是SmartChineseTokenizerFactory,它是SmartChineseAnalyzer的底层分词器。 2. 配置停用词 在solrconfig.xml中,可以配置停用词,在分词时将停用词过滤掉,例如: ``` <filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true" /> ``` 其中,words指定了停用词文件的路径,可以自己定义。 3. 配置同义词solrconfig.xml中,可以配置同义词,在分词时将同义词替换掉,例如: ``` <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" /> ``` 其中,synonyms指定了同义词文件的路径,可以自己定义。expand指定是否将同义词扩展,例如"中国, 中国人, 中国人民",如果expand=true,则搜索"中国"时会将其扩展为"中国 中国人 中国人民"。 以上就是在Solr 9.2.0中配置中文分词器的基本步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值