Как выполнить сложный расчет в ElasticSearch, требующий нахождения максимального и минимального значений для записи в индексе?
Следующий пример глуп, но служит для иллюстрации.
Учитывая объект User
, который сохраняется в индексе:
class User {
String name
int age;
}
требование состоит в том, чтобы для всех пользователей с одинаковым именем получить разницу между самым младшим и самым старшим возрастом.
Например, учитывая следующий набор данных:
Name Age
Tom 20
Tom 35
Tom 45
Sam 10
Sam 50
Sam 90
расчет даст следующие результаты:
Tom = (45-20) = 25
Sam = (90-10) = 80
После вычисления значений в ElasticSearch они должны быть доступны в Kibana.
Я новичок в ElasticSearch, и любые примеры кода очень ценятся.