ElasticSearch:对所有字段使用match_phrase

时间:2018-06-19 14:13:19

标签: elasticsearch elasticsearch-6

作为ElasticSearch 5的用户,我一直在使用类似这样的方式在所有字段中搜索给定的短语:

GET /my_index/_search
{
  "query": {
    "match_phrase": {
      "_all": "this is a phrase"
    }
  }
}

现在,_all字段消失了,match_phrase似乎不像query_string那样工作,您可以在其中简单地使用如下代码来搜索所有字段:

"query": {
  "query_string": {
    "query": "word"
  }
}

在不使用6.0版中的_all字段的情况下,对所有字段进行精确短语搜索的替代方法是什么?

每个文档有很多字段,因此在查询中指定所有字段对我来说并不是一个解决方案。

1 个答案:

答案 0 :(得分:0)

您可以在Elasticsearch文档https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-all-field.html中找到答案 它说:

  

使用自定义字段和映射copy_to参数

因此,您必须在源代码中创建自定义字段,并将所有其他字段复制到其中。