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

时间:2015-01-08 21:16:53

标签: solr highlight

所有

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

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

fund AND value

返回突出显示部分如下:

"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,如果基金和价值在一个文件中位置不够,他们无法在同一个代码段中显示。在blk_0019中,solr突出了基金和价值,但在blk_0006中,只显示了基金。

如何在单个代码段中显示两个匹配的内容,只是忽略它们之间的文字......就像在Google中一样

还有一些小问题:

  

[1]如何指定搜索像Hello HELLO这样的大写单词   在索尔?

     

[2]如何搜索全资本和(全资本&#34; AND&#34;将被视为逻辑运算符)

由于

1 个答案:

答案 0 :(得分:1)

这取决于您使用的荧光笔。对于标准突出显示器,您可以设置hl.snippets=5(例如,默认值为1)。然后你将获得5个片段/片段(最多),每个片段/片段的最大长度为hl.fragsize

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