Solr配置完分词器后Analysis分词有效果,查询时分词无效果的解决

是因为在配置分词器前插入的数据已经创建了索引,这时候的索引是没走分词器便创建的,即历史数据是没有做过分词的。1.将你要分词的字段设置text_ik类型。2.删除索引重新创建或者更新索引。

我采用删除索引的方法~(暴力,简单干脆)

直接将solrhome中solr实例的data文件夹清空,重新录入数据,重新查询,完美解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
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中配置中文分词器的基本步骤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值