获取elasticsearch中某个字段的唯一值并获取所有记录

Get unique values of a field in elasticsearch and get all records

我正在使用 elasticsearch 2x 版本

我想要一个字段中的不同值。我在查询中只得到 10 个值。 我如何更改它以查看所有不同的记录?

以下是我正在使用的查询:

GET messages-2017.04*/_search
{
    "fields": ["_index"],
    "query": {
        "bool": {
            "must":{
                "bool":{
                "should": [
                        {
                            "match": {
                                "RouteData": {
                                    "query": "Q25B",
                                    "type": "phrase"
                                }
                           }
                        }
                    ]
               }
            }
        }
    }
}

我需要从数据库中获取所有不同的 _index 名称。

您需要改用 terms 聚合,如下所示:

POST messages-2017.04*/_search
{
    "size": 0,
    "query": {
        "bool": {
            "must":{
                "bool":{
                "should": [
                        {
                            "match": {
                                "RouteData": {
                                    "query": "Q25B",
                                    "type": "phrase"
                                }
                           }
                        }
                    ]
               }
            }
        }
    },
    "aggs": {
       "all_indexes": {
          "terms": {
             "field": "_index",
             "size": 100
          }
       }
    }
}