Я ищу, чтобы добавить функцию к существующему запросу. В основном, я запускаю запрос, который возвращает 1000 документов. Все эти документы имеют одинаковую структуру, но только значения определенных полей различаются. Я бы хотел, чтобы не только получить полный список в результате, но и подсчитать, сколько результатов имеет поле X со значением Y, сколько результатов имеет одно и то же поле X со значением Z и т. Д.Вложенные запросы счетчика
В основном получить все результаты + 4 или 5 "counts", которые будут действовать как SQL "group by", в некотором роде. Целью этого является возможность полнотекстового поиска по всем клиентам в нашей базе данных (без фильтрации), показывая, сколько из них - активные клиенты, прошлые клиенты, активные перспективы и т. Д.
Любой способ сделать это без выполнения дополнительных/отдельных запросов?
EDIT с ответом:
Скопления это путь. Вот как я это сделал, так просто, что я ожидал гораздо более сложной работы!
{
"query": {
"term": {
"_type":"client"
}
},
"aggregations" : {
"agg1" : {
"terms" : {
"field" : "listType.typeRef.keyword"
}
}
}
}
Обратите внимание, что даже в списке терминов и не одно поле, это просто, как легко это было!
Действительно, это было довольно просто, когда я обошел первые страницы текста. Я обновлю свой первоначальный вопрос, чтобы помочь людям, которые могут столкнуться с проблемами в будущем. Благодаря ! –