Агрегация термина Elasticsearch с использованием скрипта с ключом в качестве целого числа - PullRequest
0 голосов
/ 02 октября 2018

Можно ли сделать key полученной агрегации равным int значению, возвращаемому сценарием вместо string?

См. в этом примере , ноиспользуя dayOfMonth или hourOfDay вместо dayOfWeek, поэтому существует более 10 значений, поэтому результат в итоге упорядочивается, "1", "10", "11", ..." instead of 1, 2, 3, ... `.

Вот пример полного вызова:

POST /sales/_search?size=0
{
    "aggs": {
        "dayOfMonth": {
            "terms": {
                "script": {
                    "lang": "painless",
                    "source": "doc['date'].value.dayOfMonth"
                }
            }
        }
    }
}

И пример ответа:

{
  ...
  "aggregations": {
    "dayOfWeek": {
      "doc_count_error_upper_bound": 0,
      "sum_other_doc_count": 0,
      "buckets": [
        {
          "key": "1",
          "doc_count": 4
        },
        {
          "key": "10",
          "doc_count": 3
        },
        {
          "key": "2",
          "doc_count": 2
        }
      ]
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...