solr高亮 和关键字不一样
solr设置高亮,比如搜索“童装”,结果“童装1”等等类似“童装...”、“...童装”都高亮了可能配置有问题,配置如下:hl=truehl.fl="titlecompa...
solr设置高亮,比如搜索“童装”,结果“童装1”等等类似“童装...”、“...童装”都高亮了
可能配置有问题,配置如下:
hl=true
hl.fl="title company_name"
hl.snippets=3
hl.requireFieldMatch=false
hl.simple.pre=<em>
hl.simple.post=</em>
现在发现是hl.requireFieldMatch=false的问题,但是我需要用合并域,hl.requireFieldMatch必须为false,请问哪位大侠有办法解决? 展开
可能配置有问题,配置如下:
hl=true
hl.fl="title company_name"
hl.snippets=3
hl.requireFieldMatch=false
hl.simple.pre=<em>
hl.simple.post=</em>
现在发现是hl.requireFieldMatch=false的问题,但是我需要用合并域,hl.requireFieldMatch必须为false,请问哪位大侠有办法解决? 展开
展开全部
从配置上看,没有什么特别的问题,如果现在你是搜索什么词都高亮了,那可能是有两方面的原因.
1.你的hl.fl设置,你的那些词在所设置的字段里都存在
2.你的hl.requireFieldMatch=false设置.这个设置是有点模糊匹配高亮的意思,把这个设置为true试试
1.你的hl.fl设置,你的那些词在所设置的字段里都存在
2.你的hl.requireFieldMatch=false设置.这个设置是有点模糊匹配高亮的意思,把这个设置为true试试
追问
hl.requireFieldMatch=false是用了合并域,查询的域是keyword,而keyword域是由title和company_name组成的,使用了copyfield,这样我查询域是keyword,而高亮域是title和company_name,因为返回取值的域还是title和company_name。keyword是为了减小引擎压力,把两次查询变为一次。
不过我发现确实是这个配置问问题,我做了一个测试,直接查询title和company_name,将hl.requireFieldMatch=true是对了,变为false就出现这个问题
追答
你可以试试
hl.usePhraseHighlighter=true;
hl.highlightMultiTerm=true;
这两个参数.第一个指是完成匹配短语的才给高亮,要用引号引起来.第二个是在第一个为true时起作用,表示,使用通配符时,能匹配上的都使用高亮
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询