将突出显示限制为Solr 5.5中的匹配字段

时间:2018-11-08 03:55:15

标签: solr highlight solr5

我们正在使用Solr 5.5。

我想知道是否可以如下所述限制突出显示。

假设我们进行了以下搜索:

doc_id:100 OR samples 

转换为

doc_id:100 OR text:samples 

我们希望将“ 100”的突出显示限制为doc_id字段,并且将“样本”突出显示在复制到文本字段的document_ *字段中。

启用基本突出显示后,我们会在 any 字段中(根据文档)突出显示“ 100”,例如hl=true&hl.fl=*

  "highlighting": { 
    "2918": { 
      "document_content": [ 
        " \t\t <em>100</em> \t\t 90 \t\t 95 \t\t 90 \t\t 95 \t\t 80 \t\t 85 \t\t 85 \t\t 80 \t\t 90.42 \t\t 66.67 \t\t 90.4166666667 \t\t \t\t 1085" 
      ], 
      "doc_id": [ 
        "<em>100</em>" 
      ] 
    }, 
    "4413": { 
      "document_title": [ 
        "Purchased <em>samples</em>" 
      ], 
      "doc_id": [ 
        "<em>100</em>" 
      ], 
      "document_file_name": [ 
        "<em>Samples</em> late 2004.doc" 
      ] 
    }, 
... 

推荐的解决方案是使用hl.requireFieldMatch,但这只会导致doc_id字段突出显示。我猜其他(document_ *)字段不再突出显示,因为它们与文本不匹配,例如hl=true&hl.fl=*&hl.requireFieldMatch=true

 "highlighting": { 
    "2918": { 
      "doc_id": [ 
        "<em>100</em>" 
      ] 
    }, 
    "4413": { 
      "doc_id": [ 
        "<em>100</em>" 
      ] 
    }, 
    "4415": { 
      "doc_id": [ 
        "<em>100</em>" 
      ] 
    },

如何在将doc_id字段的突出显示限制为与其匹配的查询字词的同时,将复制到文本字段的document_ *字段突出显示?

编辑: 也许关键是索引并存储文本字段,然后指定文本和doc_id字段的突出显示,即将其定义更改为

并致电hl=true&hl.fl=text,doc_id&hl.requireFieldMatch=true

0 个答案:

没有答案