Мне нужно агрегировать результаты с помощью запроса Elasticsearch, однако результат неверный.
Я пробовал разные способы написания указанного запроса, но с реальными результатами документа все в порядке. Однако агрегированный результат, похоже, не учитывает мой запрос.
GET mylovely_books/_search
{
"query": {
"bool": {
"should": [
{
"geo_shape": {
"contour": {
"indexed_shape": {
"id": "8",
"type": "my_polygons_1",
"index": "my_polygons_1",
"path": "polygon"
}
}
}
}
],
"must": [
{
"range": {
"year": {
"gte": 2014,
"lte": 2019
}
}
}
],
"minimum_should_match": 1
}
},
"aggs": {
"book_collection" : {
"terms": {
"field": "book_type"
}
}
}
}
результат:
{
"took": 6,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": *19*,
"max_score": 2,
"hits": [
... the results actually matching the query.
]
"aggregations": {
"book_collection": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "Adventure",
"doc_count": 17
},
{
"key": "Romance",
"doc_count": 1
},
{
"key": "Mystery",
"doc_count": 1
}
]
}
}
Я ожидаю, что агрегация будет вести учет для запроса. Ожидаемые результаты будут 10, вместо 20 (агрегация)