Быстрое извлечение ключевых слов в asticsearch

У меня есть большая база данных аннотаций изображений, хранящихся в базе данных эластичного поиска. Я хочу использовать эту базу данных для извлечения ключевых слов. Ввод текста (как правило, газетная статья). Моя основная идея алгоритма состоит в том, чтобы просмотреть каждый термин из статьи и использовать эластичный поиск, чтобы узнать, насколько часто этот термин встречается в аннотациях изображений. Затем выводите термины из статей, которые встречаются не часто (для того, чтобы предпочитать имена людей или мест обычным английским словам).

Мне не нужно что-то очень сложное, эти ключевые слова используются просто как предложение для пользовательского ввода, но я хочу что-то быстрее, чем запрашивать N поисковых запросов (где N - количество терминов в тексте), чтобы упростить поиск, который может быть медленным для больших текстов. Есть ли надежный и быстрый метод извлечения ключевых слов в asticsearch?

1 ответ

Для этого вы можете использовать эластичные агрегаты поисковых терминов. Они могут возвращать ключевые слова в пакетах с количеством документов, которые указывают их относительную частоту. Вот пример запроса в YML.

query:
    match:
        annotation:
            query: text of your article
aggregations:
    term_frequencies:
        terms:
            field: annotation
Другие вопросы по тегам