SOLR查询匹配关键词的方式
2021/12/24 6:07:42
本文主要是介绍SOLR查询匹配关键词的方式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
如果在字段后直接写关键词,solr对条件关键词分词后,各分词之间按照OR的关系进行匹配
如果查询条件关键词用半角双引号括叫起来,则分词间用AND关系进行匹配
尽管使用双引号括起来,分词间可以按照与的关系进行查询,但是有一种情况是,分词后,有些词会被停用词过滤掉,从而只剩下有效词,这样也会造成匹配过多的情况,解决办法是:将整个条件词,配置到自定义词库中,这样就不会被分词,可以按照整改词进行匹配。或者,配置SOLR不过滤停用词,配置如下:
编辑文件
${SOLR_HOME}\server\solr\new_core\conf\managed-schema
找到需要查询的fieldType,去掉solr.StopFilterFactory的配置,如下:
<fieldType name="text_hanlp" class="solr.TextField" >
<analyzer type="index">
<tokenizer class="com.hankcs.lucene.HanLPTokenizerFactory" enableIndexMode="true"/>
<!--<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>-->
</analyzer>
<analyzer type="query">
<tokenizer class="com.hankcs.lucene.HanLPTokenizerFactory" enableIndexMode="false"/>
<!--<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>-->
</analyzer>
</fieldType>
将solr.StopFilterFactory注释掉,重启solr,并且,文档必须重新索引的才能生效,之前索引的不能生效了。
另外,solr的分词词典配置在:{SOLR_HOME}\server\resources下,以hanlp为例:此目录下放置hanlp.properties,在hanlp.properties中,指定自定义词典,停用词词典等,如:
对于hanlp来说,修改词典后,要使词典生效,要删除对应的bin文件
这篇关于SOLR查询匹配关键词的方式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南
- 2024-12-21功能权限实战:新手入门指南