Как я могу упорядочить по количеству сгруппированных полей в elasticsearch? ⇐ Elasticsearch aggregation
Как я могу упорядочить по количеству сгруппированных полей в elasticsearch?
Мои объекты данных содержат 3 строковых поля: раздел, категория и имя пользователя. Я хочу выполнить группировку по категориям и имени пользователя и узнать 20 самых популярных «разделов» и их количество в группировке, которую я сделал
По сути, результат, который мне нужен, похож на запрос sql: выберите раздел, подсчитайте (*) из группы таблиц по категории, порядок имен пользователей по 2 по убыванию, лимит 20
Я пробовал агрегировать данные по разделу, категории и имени пользователя. Результатом была группировка, которую я искал, но она не сортировала поле «раздел» по этой группировке (например, мне нужно, чтобы первый результат содержал раздел, который появляется в большинстве комбинаций категории и имени пользователя, а также его количество) < /п> вместо этого он сортировал раздел только по его doc_count, а внутри каждого раздела он сортировал "категорию" по его doc_count, а внутри него он сортировал каждое "имя пользователя" по его doc_count
Вот что я пробовал:
GET some_index/_search { «размер»: 0, "запрос": { "бул": { "должен": [ { "соответствовать": { "some_filter_i_needed": "filter_value" } } ] } }, "аггс": { "top_section": { "условия": { "field": "section.keyword", «размер»: 20, "заказ": { "_count": "дескриптор" } }, "аггс": { "top_category": { "условия": { "field": "category.keyword", «размер»: 1, "заказ": { "_count": "дескриптор" } }, "аггс": { "top_username": { "условия": { "поле": "имя пользователя.ключевое слово", «размер»: 1 , "заказ": { "_count": "дескриптор" } } } } } } } } } Есть ли какой-нибудь способ получить нужный мне результат?
Спасибо
Мои объекты данных содержат 3 строковых поля: раздел, категория и имя пользователя. Я хочу выполнить группировку по категориям и имени пользователя и узнать 20 самых популярных «разделов» и их количество в группировке, которую я сделал
По сути, результат, который мне нужен, похож на запрос sql: выберите раздел, подсчитайте (*) из группы таблиц по категории, порядок имен пользователей по 2 по убыванию, лимит 20
Я пробовал агрегировать данные по разделу, категории и имени пользователя. Результатом была группировка, которую я искал, но она не сортировала поле «раздел» по этой группировке (например, мне нужно, чтобы первый результат содержал раздел, который появляется в большинстве комбинаций категории и имени пользователя, а также его количество) < /п> вместо этого он сортировал раздел только по его doc_count, а внутри каждого раздела он сортировал "категорию" по его doc_count, а внутри него он сортировал каждое "имя пользователя" по его doc_count
Вот что я пробовал:
GET some_index/_search { «размер»: 0, "запрос": { "бул": { "должен": [ { "соответствовать": { "some_filter_i_needed": "filter_value" } } ] } }, "аггс": { "top_section": { "условия": { "field": "section.keyword", «размер»: 20, "заказ": { "_count": "дескриптор" } }, "аггс": { "top_category": { "условия": { "field": "category.keyword", «размер»: 1, "заказ": { "_count": "дескриптор" } }, "аггс": { "top_username": { "условия": { "поле": "имя пользователя.ключевое слово", «размер»: 1 , "заказ": { "_count": "дескриптор" } } } } } } } } } Есть ли какой-нибудь способ получить нужный мне результат?
Спасибо
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Создать массив уникальных фраз из последовательных слов, сгруппированных по количеству слов.
Anonymous » » в форуме Php - 0 Ответы
- 105 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Вложенные агрегаты Elasticsearch с данными Spring elasticsearch 5.2
Anonymous » » в форуме Elasticsearch aggregation - 0 Ответы
- 1172 Просмотры
-
Последнее сообщение Anonymous
-