Я сделал результат запроса, который агрегирует некоторые данные, а его ключ агрегации - число. Я попытался отсортировать результат агрегации по ключу. elasticsearch обработанный ключ как строка.Elasticsearch - Получить сортировку ключа агрегации как номер
Поскольку количество текущего ведра будет довольно большим, оно не может быть изменено на стороне клиента. Любая идея об этом?
Вот мой вопрос.
"aggregations" : {
"startcount" : {
"terms" : {
"script" : "round(doc['startat'].value/1000)",
"size" : 1000,
"order" : { "_term" : "asc" }
}
}
}
и текущий ковш.
"buckets": [
{
"key": "0",
"doc_count": 68
},
{
"key": "1",
"doc_count": 21
},
{
"key": "10",
"doc_count": 6
},
{
"key": "11",
"doc_count": 16
},
Это мой ожидаемый результат.
"buckets": [
{
"key": "0",
"doc_count": 68
},
{
"key": "1",
"doc_count": 21
},
{
"key": "2", // not '10'
"doc_count": 6
},
{
"key": "3", // not '11'
"doc_count": 16
},
В вашем отображении, какой типа делает 'startat' поля есть? – Val
Тип - это «дата», а формат «strict_date_optional_time || epoch_millis». –
Мне лучше использовать date_histogram. Спасибо, чтобы дать мне другую точку зрения. –