ik-analyzer-solr8.3.1 / solr使用text_ik插件 查询字段不分词
程序员文章站
2022-07-04 23:50:13
...
solr使用复合字段查询,发现没有和solr数据库的匹配的结果,这是因为查询字段没有分词.
看之前旧版的ik-analyzer-solr,发现在managed-schema的配置不一样.
新版原文是:
3.配置Solr的managed-schema,添加ik分词器,示例如下;
<!-- ik分词器 -->
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
经测试,发现将query的useSmart=“true” 改成 useSmart=“false” 即可,应该是为了减少性能损耗,查询字段默认不分词了.
贴上完整的:
<!-- ik分词器 -->
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
改完,重启后,多刷新几次页面,可在solr测试.
上一篇: 白酒的品牌有哪些呢,小编都罗列出来啦