Я довольно новичок в Elasticsearch (с использованием версии 2.2). Чтобы упростить мой вопрос, у меня есть документы, у которых есть поле с именем завершение, которое иногда может принимать значение transfer.Elasticsearch: точность при агрегации фильтра
я в настоящее время сделать этот запрос агрегировать по месяцам количество документов, которые имеют, что завершение:
{
"size": 0,
"sort": [{
"@timestamp": {
"order": "desc",
"unmapped_type": "boolean"
}
}],
"query": { "match_all": {} },
"aggs": {
"report": {
"date_histogram": {
"field": "@timestamp",
"interval": "month",
"min_doc_count": 0
},
"aggs": {
"documents_with_termination_transfer": {
"filter": {
"term": {
"termination": "transfer"
}
}
}
}
}
}
}
Вот ответ:
{
"_shards": {
"failed": 0,
"successful": 206,
"total": 206
},
"aggregations": {
"report": {
"buckets": [
{
"calls_with_termination_transfer": {
"doc_count": 209163
},
"doc_count": 278100,
"key": 1451606400000,
"key_as_string": "2016-01-01T00:00:00.000Z"
},
{
"calls_with_termination_transfer": {
"doc_count": 107244
},
"doc_count": 136597,
"key": 1454284800000,
"key_as_string": "2016-02-01T00:00:00.000Z"
}
]
}
},
"hits": {
"hits": [],
"max_score": 0.0,
"total": 414699
},
"timed_out": false,
"took": 90
}
Почему число обращений (414699) больше, чем общее количество документов (278100 + 136597 = 414697)? Я прочитал о проблемах точности, но, похоже, это не применимо в случае фильтров ... Есть ли проблема с погрешностью, если я суммирую общее количество документов с перевод прекращение?
Вы правы! Было два совершенно разных документа, которые, по-видимому, использовались кибаной: ** «хиты»: [{"_id": "4.4.1", "_index": ".kibana", ...}, {"_id": " logstash- * "," _index ":" .kibana ", ...}] ** – Raphael