是否可以仅突出显示match_phrase查询?

时间:2015-10-22 19:14:57

标签: elasticsearch

我有像这样的bool查询

{
  "query": {
    "bool": {
      "must": [
        {
          "terms": {
            "type": [
              "bill",
              "press release"
            ]
          }
        },
        {
          "match_phrase": {
            "title": "health"
          }
        }
      ]
    }
  },
  "highlight": {
    "fields": {
      "policy_content": {}
    }
  },
  "sort": [
    {
      "publishdate": {
        "order": "desc"
      }
    }
  ]
}

用户正在搜索关键字“健康”,关键字会突出显示,但“帐单”和“新闻稿”也会突出显示我不想要的内容。 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

您可以通过highlight_query指定要用于精彩集锦的查询。

因此,您可以通过将查询的突出显示方面更新为以下内容来利用它:

"highlight" : {
    "fields" : {
        "policy_content" : {
            "highlight_query" : {
                "match_phrase" : {
                    "policy_content" : "health"
                }
            }
        }
    }
}