solr不能全词匹配

dqceo 发布于 2020/07/21 21:16
阅读 330
收藏 0

开源之夏第三届火热来袭,高校学生参与赢万元奖金!>>>

我在solr里想搜索含有“张三”的记录,于是在solr查询界面的q那里输入了张三,并加了双引号(全词匹配),结果返回了几条包含完整张三的记录,另外有几条记录不是完整匹配的,例如"办公桌六张,三台电脑"这种也匹配到了,还有些是张和三之间有换行符的也匹配到了,百度了好久也没找到解决办法,求大神指点一下,谢谢!

加载中
0
Soutv
Soutv

像是分词器的问题,用的啥分词器

dqceo
dqceo
回复 @Soutv : 好的,谢谢
Soutv
Soutv
回复 @dqceo : 我没用过solr,用过es和lucene。查询的时候有个slop的参数,如果你设置为0还是能查出来有符号的张三,那就说明是分词器的问题。分词器有可能会把标点符号过滤掉再进行分词,就导致张三是连着的,这样的话需要修改分词模式,我对solr的默认分词器不熟,到这你就只能自己再分析了。
dqceo
dqceo
回复 @Soutv : 不是很明白你意思,你有办法解决吗?
Soutv
Soutv
回复 @dqceo : 可能不会匹配的问题,是分词这一步把符号干掉了。
dqceo
dqceo
之前用的IK分词器,后来客户要求全词匹配不分词就不用任何分词器了。我怀疑solr匹配的时候是不是忽略了标点符号,所以才会把中间有符号的也匹配到了。
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部