Чтобы получить общее количество агрегированных ключей в AWS OpenSearch ⇐ Elasticsearch aggregation
Чтобы получить общее количество агрегированных ключей в AWS OpenSearch
Ситуации:
У меня есть огромное количество документов, в которых нет уникального ключевого поля, но при наличии нескольких полей оно может быть отличительным. Например, поле search_term может дублироваться, но каждый search_term в category1-category2-category3< /code> уникален для каждого дня(report_date).
Например,
Мои документы выглядят так:
{ "category1":"AD", "category2":"GOOGLE", "category3":"ПОИСК", ...подробнее... "search_term":"Телевизор SAMSUNG" "report_date":20230919 } Я пробовал:
мой запрос ниже не смог получить общее количество unique_keys (не знаю, как это получить):
{ «_источник»: ложь, "аггс": { "unique_keys": { "составной": { «размер»: 2, "источники": [ { "search_term": { "terms": { "field": "search_term.keyword" } } }, { "category1": { "terms": { "field": "category1" } } }, { "category2": { "terms": { "field": "category2" } } }, { "category3": { "terms": { "field": "category3" } } } ] }, "аггс": { "distinct_docs": { "top_hits": { «размер»: 1, "_источник": [ "искать термин", "категория1", "категория2", "категория3" ], "Сортировать": [ { "report_date": {"order": "desc"} } ] } } } } }, «размер»: 0, "запрос": { "бул": { "minimum_should_match": "1", "должен": [ { "соответствовать": { "искать термин": { "оператор": "и", "запрос": "ТВ SAMSUNG" } } } ] } } } Чего я хочу:
Функция, которую я хочу, - это найти слово (или слова) и получить ответы для всех случаев, к которым относится search_term. Агрегированная информация должна быть самой последней сообщенной информацией (report_date), а также включать общее количество уникальных ключей.
мне нужно следующее: (формат не имеет значения)
{ "total_count": 3, "ведра": [ { "ключ": { "search_term": "Телевизор SAMSUNG", "category1": "AD", "категория2": "GOOGLE", "category3": "ПОИСК" } }, { "ключ": { "search_term": "Телевизор SAMSUNG", "category1": "AD", "категория2": "GOOGLE", "category3": "ОТОБРАЖЕНИЕ" } }, { "ключ": { "search_term": "ТВ SAMSUNG 32", "category1": "AD", "категория2": "FACEBOOK", "category3": "ОТОБРАЖЕНИЕ" } } ] } В OpenSearch нет bucket_count и невозможно использовать мощность в соответствии с несколькими ключами.
Мне смертельно нужны любые подсказки! Спасибо!
Ситуации:
У меня есть огромное количество документов, в которых нет уникального ключевого поля, но при наличии нескольких полей оно может быть отличительным. Например, поле search_term может дублироваться, но каждый search_term в category1-category2-category3< /code> уникален для каждого дня(report_date).
Например,
Мои документы выглядят так:
{ "category1":"AD", "category2":"GOOGLE", "category3":"ПОИСК", ...подробнее... "search_term":"Телевизор SAMSUNG" "report_date":20230919 } Я пробовал:
мой запрос ниже не смог получить общее количество unique_keys (не знаю, как это получить):
{ «_источник»: ложь, "аггс": { "unique_keys": { "составной": { «размер»: 2, "источники": [ { "search_term": { "terms": { "field": "search_term.keyword" } } }, { "category1": { "terms": { "field": "category1" } } }, { "category2": { "terms": { "field": "category2" } } }, { "category3": { "terms": { "field": "category3" } } } ] }, "аггс": { "distinct_docs": { "top_hits": { «размер»: 1, "_источник": [ "искать термин", "категория1", "категория2", "категория3" ], "Сортировать": [ { "report_date": {"order": "desc"} } ] } } } } }, «размер»: 0, "запрос": { "бул": { "minimum_should_match": "1", "должен": [ { "соответствовать": { "искать термин": { "оператор": "и", "запрос": "ТВ SAMSUNG" } } } ] } } } Чего я хочу:
Функция, которую я хочу, - это найти слово (или слова) и получить ответы для всех случаев, к которым относится search_term. Агрегированная информация должна быть самой последней сообщенной информацией (report_date), а также включать общее количество уникальных ключей.
мне нужно следующее: (формат не имеет значения)
{ "total_count": 3, "ведра": [ { "ключ": { "search_term": "Телевизор SAMSUNG", "category1": "AD", "категория2": "GOOGLE", "category3": "ПОИСК" } }, { "ключ": { "search_term": "Телевизор SAMSUNG", "category1": "AD", "категория2": "GOOGLE", "category3": "ОТОБРАЖЕНИЕ" } }, { "ключ": { "search_term": "ТВ SAMSUNG 32", "category1": "AD", "категория2": "FACEBOOK", "category3": "ОТОБРАЖЕНИЕ" } } ] } В OpenSearch нет bucket_count и невозможно использовать мощность в соответствии с несколькими ключами.
Мне смертельно нужны любые подсказки! Спасибо!
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение