В настоящее время работает с Kibana с более чем 6 миллиардами документов и пытается получить выборку на основе «индекса», который соответствует конкретному дню сбора выборки.
from elasticsearch import Elasticsearch
es = Elasticsearch(['https://user:secret@localhost:xxx'])
Использование кода ниже для запроса:
res = es.search(body=body1)
print(f"Got {res['hits']['total']} Hits:")
Когда я использую тело ниже, я получаю все 6 миллиардов документов:
body1 = {
"query": {"match_all": {}}
}
Однако, когда я настраиваю конвейер агрегации, я получаю сообщение об ошибке RequestError(400, 'parsing exception', 'Unknown key for a START_OBJECT in [my_agg].')
body0 = {
"query": {"match_all": {}},
"size": 0,
"aggs": {
"my_unbiased_sample": {
"diversified_sampler": {
"max_docs_per_value" : 3,
"field" : "_index"
}
}
}, "my_agg": {
"terms": {
"field": "_index"
}
}
}
Я считаю, что моя проблема связана со вторым агрегатором, а не с первым разнообразным семплером. Мне просто нужен результат от разнообразного сэмплера, но я вынужден иметь второй агрегатор.