Elasticsearch如何与_all匹配工作?

时间:2017-10-16 16:57:34

标签: elasticsearch

我想知道如何与_all进行多重匹配。假设我有以下问题:

"multi_match": {
                                    "query": x,
                                     "type": "phrase",
                                     "fields":"_all",   
                                 }

是否搜索特定短语的所有可用字段,如果所有字段中都存在该短语,则返回记录?如果某些领域有这个而其他领域没有呢?

2 个答案:

答案 0 :(得分:1)

_all字段(在6.0中删除)索引json文档中的所有值,无论它们出现在哪个字段中。

答案 1 :(得分:1)

_all字段只是将所有字段连接成一个大字符串然后以标准方式分析它的字段 - 如果没有使用标准分析器定义文本。 https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-all-field.html

在使用参数'include_in_all'https://www.elastic.co/guide/en/elasticsearch/reference/current/include-in-all.html

定义您的映射时,可以从_all字段中删除一些字段

在所有字段的连接中使用短语查询是否有意义?而不是。我会说multi_match可以让你实现与_all字段类似的目标;您可以在一个查询中搜索多个字段。但是当使用_all字段时,您可以使用“匹配”查询。