У меня есть тип в elasticsearch, где каждый пользователь может размещать любое количество сообщений (поля являются «userid» и «post»). Теперь мне нужно количество пользователей, которые отправили 0 сообщений, 1 сообщение, 2 сообщения и т. Д .... как мне это сделать? Я думаю, что ему нужны некоторые вложенные агрегации, но я не знаю, как это сделать. Заранее спасибо !Вложенные счетные агрегирования в elasticsearch
ответ
Вы можете использовать script
агрегации:
POST index_name/type_name/_search
{
"aggs": {
"group By Post Count": {
"terms": {
"script" : "doc['post'].size()"
}
}
}
}
Убедитесь, что you enable scriptig
Надеется, что это помогает вам.
нет извините, это не сработало! –
Какая ошибка вы получаете ??? Или это ничего не возвращает? – Richa
Он не возвращает никаких ошибок, но не возвращает ожидаемых результатов –
Лучший способ сделать это - добавить отдельное поле для хранения количества сообщений.
Сценарии не слишком эффективны (значения подвергаются повторной оценке каждый раз, когда выполняется запрос), и вы получаете значение, которое делает запросы и агрегации очень быстрыми. Конечно, вы должны быть уверены, что обновляете этот счет каждый раз, когда обновляете документ.
Ok! Спасибо mbudnik –
- 1. Производительность агрегирования Elasticsearch
- 2. ElasticSearch - фильтрация вложенной агрегирования
- 3. Возможно, возможен запрос агрегирования ElasticSearch?
- 4. Фильтр по результатам агрегирования в Elasticsearch 5
- 5. 400 ошибка простого агрегирования счетов в elasticsearch
- 6. Как результат агрегирования пейджинга в ElasticSearch?
- 7. Уникальные ключи после агрегирования данных в elasticsearch
- 8. Elasticsearch агрегирования регулярного выражения соответствия в списке
- 9. Elasticsearch - Lsit весь объект в единицах агрегирования
- 10. Вложенные скопления в elasticsearch
- 11. вложенные запросы в Elasticsearch
- 12. Вложенные циклы, чтобы найти счетные числа
- 13. ElasticSearch записи агрегирования журнала с вложенным Aggs
- 14. ElasticSearch Order после агрегирования с двумя сроками
- 15. ElasticSearch: агрегирования на поле даты и времени
- 16. агрегирования данных Elasticsearch с огранкой на массивах
- 17. Получения полных документов с использованием ElasticSearch агрегирования
- 18. Вложенные отношения с ElasticSearch
- 19. Elasticsearch - получить вложенные поля
- 20. elasticsearch вложенные запросы
- 21. Множественные вложенные агрегации в Elasticsearch
- 22. Вложенные объекты Elasticsearch
- 23. счетные
- 24. Elasticsearch - вложенные объекты Запросов к
- 25. Elasticsearch + Tire + PaperClip: Вложенные объекты
- 26. Elasticsearch, вложенные «ANDS» и «ORS»
- 27. ElasticSearch - Как отобразить дополнительное имя поля в запросе агрегирования
- 28. Возможно ли выполнить запрос агрегирования elasticsearch в Kibana?
- 29. elasticsearch: агрегирование на вложенные объекты
- 30. Запросить вложенные документы на ElasticSearch
Просьба поделиться ссылкой на ваш индекс. 'GET/index/type/_mapping' – Richa
Было бы полезно, если бы вы поделились своим картографированием и одним или двумя образцами документов. Также, какой у вас запрос. – Val
{ "ESIndex": { "отображения": { "user_posts": { "свойства": { "пост": { "типа": "строка" }, "USERID": { "Тип": "длинный" } }} }} } –