使用solr进行某较长词搜索时出现了一些问题,及解决方案。
1、问题:solr默认使用OR方式搜索,当搜索一个很长的次,比如“XX集团股份有限公司”,分词器分词后,使用OR方式匹配,会匹配到很多结果。
解决:然后我使用了AND方式搜索(managed-schema中设置<solrQueryParser defaultOperator="AND">),结果匹配的很精准了。
2、问题:但是当我搜索“XX集团股份有限公”的时候,匹配到0个结果,因为存入时索引的信息为:XX 集团 股份 有限 公司,而查询时“XX集团股份有限公”的分词结果为:XX 集团 股份 有限 公,因此AND方式搜索,无任何匹配结果。
解决:改回使用OR方式搜索,但是加上匹配个数的限制(defType:edismax, mm:80% ),mm为最小匹配数量,可以是数值或者百分比。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
2017-07-19 AngularJs+bootstrap搭载前台框架——准备工作
2015-07-19 关于WinPE安装操作系统