发布:2022/10/31 13:59:11作者:管理员 来源:本站 浏览次数:737
solr配置IK分词器并设置粗细粒度
solr加入索引时使用分词器,搜索时也使用该分词器,导致搜索时返回数据不准确
如:
搜索清华大学
经ik分词显示结果为
清华/大学/清华大学
此时结果中含有大学的都会被返回
北京大学
清华大学
。。。
这不是我们想要返回结果
我们希望只有清华大学被显示出来
也就是说在搜索的词中不分词
在配置ik分词器时加入属性
isMaxWordLength = “true”
表示使用粗粒度搜索
完整配置如下
<fieldType name="text_ik" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="org.wltea.analyzer.lucene.IKAnalyzerSolrFactory" isMaxWordLength="false"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.wltea.analyzer.lucene.IKAnalyzerSolrFactory" isMaxWordLength="true"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
如果配置后启动solr报错 找不到ik分词器使用这里提供的jar包替换先前的即可
ik分词器支持粗细粒度分词.jar
© Copyright 2014 - 2024 柏港建站平台 ejk5.com. 渝ICP备16000791号-4