0

我想通过匹配短语来提升查询,但我希望它只在某个字段中搜索。到目前为止,我有以下查询

{
  "query": {
    "bool": {
      "should": [
        {
          "match_phrase": {
            "_all": {
              "query": "string",
              "boost": 5
            }
          }
        }
      ]
    }
  }
}

但这会返回几个结果,因为我没有指定它应该搜索的字段。我尝试了另一种方法:

{
  "query": {
    "bool": {
      "should": [
        {
          "match_phrase": {
            "_all": {
              "query": "string",
              "fields": [
                "filed_name"
              ],
              "boost": 5
            }
          }
        }
      ]
    }
  }
}

但我得到了错误

[匹配] 查询不支持 [字段]]

4

1 回答 1

1

您可以使用多匹配查询并用于phrase typematch_phrase特定字段中进行操作。

{
  "query": {
    "multi_match": {
      "query": "some string",
      "fields": ["title","summary"],
      "type": "phrase"
    }
  }
}
于 2016-02-07T16:04:50.150 回答