首页 > 解决方案 > 使用突出显示优化弹性搜索查询

问题描述

我想知道为什么使用突出显示时处理时间会增加。有没有办法优化它?

下面提到了一个示例查询:

{
    "from": 30,
    "size": 60,
    "query": {
        "bool": {
            "must": {
                "multi_match": {
                    "query": "shall have the right",
                    "fields": ["subType", "title", "type", "content"],
                    "fuzziness": 1
                }
            }
        }
    },
    "highlight": {
        "type": "unified",
        "fields": {
            "*": {}
        }
    }
}

标签: elasticsearchhighlightelasticsearch-query

解决方案


因为要获取高亮信息,ES 需要运行一个 fetch 阶段,这意味着另一个调用。

请阅读有关获取阶段的更多信息https://www.elastic.co/guide/en/elasticsearch/guide/current/_fetch_phase.html。同样在同一个文档中,提到了有关突出显示的信息。

分片加载文档正文(_source 字段),并在请求时通过元数据和搜索片段突出显示来丰富结果。协调节点收到所有结果后,会将它们组合成一个响应,然后返回给客户端。


推荐阅读