solr - 只有highligt在结果中匹配单词

时间:2015-07-15 09:24:59

标签: solr

我的参数查询:

q = (subject:zielone AND subject:aaaaa) OR subject:czerwone
hl=true
hl.fl=subject,description

第一部分查询:(主题:zielone和主题:aaaaa)返回0结果(确定)

第二部分查询:OR主题:czerwone返回许多文档(可以)

但是当我想要突出显示部分时,我有:

"4037903":{
  "subject":["<em>zielone</em> <em>czerwone</em>"]},
"4040790":{
  "subject":["<em>zielone</em> <em>czerwone</em>"]},
"4228003":{
  "subject":["<em>zielone</em> <em>czerwone</em>"]},

我只希望找到突出显示的字词:

"4037903":{
  "subject":["zielone <em>czerwone</em>"]},
"4040790":{
  "subject":["zielone <em>czerwone</em>"]},
"4228003":{
  "subject":["zielone <em>czerwone</em>"]},

它是如何得到的?

同样的问题(但没有回答): How to prevent solr from highlighting unmatched terms?

1 个答案:

答案 0 :(得分:1)

我认为你可以使用requireFieldMatch

  

如果为true,则只有在查询匹配时才会突出显示字段   这个特定的领域(通常,术语在所有领域都有所突出   请求的字段,无论哪个字段与查询匹配)。这个   只有在“hl.usePhraseHighlighter”为“true”时才会生效。

     

默认值为“false”。

要查看所有突出显示参数,您可以转到Solr documentation