Запрос гласит: хиты 20 результатов, фактический результат 10 документов / результатов - PullRequest
0 голосов
/ 18 апреля 2019

Мне нужно агрегировать результаты с помощью запроса 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 (агрегация)

...