Solr-6.5.1配置中文分词器smartcn

solr的同步发行包smartcn可进行中文切词,smartcn的分词准确率不错,但就是不能自己定义新的词库,不过smartcn是跟solr同步的,所以不需要额外的下载,只需在solr的例子中拷贝进去即可。
第一步:
找到如下目录,复制中文分词器jar到solr项目的WEB-INF/lib目录下:
这里写图片描述
这里写图片描述
第二步:
在自定义的core下配置schema(schema目录可查看之前的文章):

<types>
    ........
    <!-- 配置中文分词器 -->
    <fieldType name="text_smartcn" class="solr.TextField" positionIncrementGap="100">
        <analyzer type="index">
            <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
        </analyzer>
        <analyzer type="query">
            <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
        </analyzer>
    </fieldType>
</types>

第三步:

将需要中文分词的字段类型替换成上述类型:

<field name="goodsName" type="text_smartcn" indexed="true" stored="true" required="true" multiValued="false" /> 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值