Мне интересно, можно ли вообще получить десятку наиболее часто встречающихся слов в поле Elasticsearch по всему индексу или псевдониму.
Вот что я пытаюсь сделать:
Я индексирую текстовые документы, извлеченные из разных типов документов (Word, Powerpoint, PDF и т.д.), они анализируются и сохраняются в поле под названием doc_content. Я хотел бы знать, есть ли способ найти наиболее частое слово в определенном индексе, которые хранятся в поле doc_content.
Чтобы сделать его более понятным, допустим, что я индексирую счета от Amazon и eBay, например. Теперь давайте предположим, что у меня есть 100 счетов-фактур от amazon и 20 счетов-фактур от ebay. Предположим также, что слово "амазонка" происходит дважды в каждом счете-фактуре амазонки, а слово "ebay" происходит 3 раза в каждом счете ebay.
Теперь, есть ли способ получить совокупность сортировки, которая говорит мне, что слово "амазонка" появляется в моем индексе 200 раз (100 счетов-фактур x 2 вхождения/счет-фактура), а слово "ebay" происходит 60 раз (20 счета-фактуры x 3 вхождения/счета-фактуры).
Мой другой вопрос: возможно ли первое, тогда есть ли способ определить, какое наиболее частое слово происходит после определенного слова?
Например: позволяет предположить, что у меня есть 100 документов. 60 из этих документов содержат термин "старая кошка", а 40 содержат термин "старая собака" и ради аргумента позволяют предположить, что эти слова появляются только один раз в каждом документе.
Теперь, если мы можем получить частоту слова "старый", который в нашем случае должен быть 100. Можем ли мы затем определить отношение к слову, которое появляется сразу после него, чтобы иметь что-то вроде этого:
__________ Cat (60)
|
Old (100)-----|
|__________ Dog (40)