Получить уникальные поля в базе данныхasticsearch, используя python - PullRequest
0 голосов
/ 16 мая 2018

Я получаю доступ к базе данных эластичного поиска. Я не ищу способ получить список уникальных идентификаторов без фактического получения данных. Мои данные (одна запись в качестве примера) отформатированы так:

res['hits']['hits'] = 
    {'_index': 'md',
     '_type': 'appevents',
     '_id': 'XXXXXX',
     '_score': 1.0,
     '_source': {
         'endTimeMillis': 1519143592708,
         'id': 'fc4507cc-a819-4acc-a8af-768923fb4dec',
         ... # A whole bunch of vars that are not relevant here
                }
    }

Я пытался использовать aggs:

body = {

    "size": 0,
    "aggs": {
        "distinct_ids": {
            "cardinality": {
                "field": "id"
            }
        }
    }

}

res = es.search(index="md",
                body=body,
                request_timeout=60,
                doc_type='appevents')

... но я получаю 400 (запрос не поддерживает размер). Я попробовал несколько вещей, но я не могу правильно понять формат запроса. Или я неправильно к этому подхожу?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...