如何在 solr 的单个片段中突出显示所有匹配的单词

How to highlight all matched word in single snippet in solr

全部:

目前我正在使用SOLR高亮功能,但是我想问一件事:

假设我要搜索关键字基金和价值:

fund AND value

return 高亮部分如下:

"highlighting": {
    "blk_0019": {
      "content": [
        "philosophy of the <em>fund</em> – <em>value</em> and turning point. \n \n MUSA was an orphaned"
      ]
    },
    "blk_0006": {
      "content": [
        "Global Equities <em>Fund</em> Ltd. \n \n CONFIDENTIAL enclosed"
      ]
    }
}

问题是我确定 blk_0019 和 blk_0006 都有基金和价值(显然我使用基金和报告),因为我设置 hl.fragsize=100,如果fund 和 value 在一个文档中的位置不够接近,它们不能同时显示在同一个片段中。在 blk_0019 中,solr 突出显示基金和价值,但在 blk_0006 中,只显示基金。

我怎样才能在单个代码段中显示匹配的两者,而只是忽略它们之间的文本......就像在 Google 中一样

还有一些小问题是:

[1] How to specify to search capitalized only word like Hello HELLO in Solr?

[2] How to search All-capital AND(All-capital "AND" will be consider as logical operator)

谢谢

这取决于您使用的荧光笔。例如,对于标准荧光笔,您可以设置 hl.snippets=5(默认值为 1)。然后你会得到 5 snippets/fragments(最多),每个最大长度为 hl.fragsize.

它们以多个值的形式返回,因此您需要自己加入它们(例如使用“...”)。