search.highlight 的预期行为 - 每个标记都被标记包围,还是多个标记被一个标记包围?

Expected Behavior of search.highlight - Each token surrounded by tag or multiple tokens surrounded by one tag?

我的团队对选择 highlight=fieldX 时 Azure 搜索结果中的搜索亮点感到有点困惑。

在搜索参数中使用双引号搜索语法简单的短语时,观察 search.highlights 部分的结果时,有人认为它不是搜索整个短语,而是显示的结果包含短语中的一些标记(如果不是全部的话)。

例如:search="quick brown"&highlight=content 可能会导致

{"@odata.context": "https://az-srch-example.search.windows.net/indexes('example')/$metadata#docs(*)",
"value": [
    {
        "@search.score": 0.683709,
        "@search.highlights": {
            "content": [
                "The <em>quick</em> <em>brown</em> fox jumped over the lazy dog."
            ]
        },
        "id": "abcexample123"
    }
]}

据了解,我们可能会收到独立搜索 "quick" 和 "brown" 的结果。

当搜索结果是连续的或者是短语时,是否有合并搜索亮点的语法?

感谢您的指导!

Is there any syntax for merging the search highlights for when the search results are contiguous or are a phrase?

简而言之没有

在 Azure 搜索中,我们使用 Lucene 的 Postings Highlighter。高亮显示发生在匹配的文档被识别之后。因此,Postings Highlighter 会获取每个匹配的文档,将其拆分为句子并查找与查询词最匹配的句子(忽略词位置),这就是为什么您会看到所有短语词都独立突出显示的原因。

遗憾的是,目前无法自定义此行为。您可以投票赞成此 feedback 以宣传要实现的功能。