Массовое сравнение строк, поиск пересечений, каким инструментом воспользоваться?

Есть некое множество слов, пусть это будет 100 000 слов.

Есть некое количество текстов, пусть будет 150 000 текстов, пусть среднее количество слов в каждом тексте будет 50.

Есть программа которая ищет в цикле каждое слово из первого множества, сейчас это все в массивах и просто сравнивается между собой, на что уходит очень много времени.

Есть ли такие системы которые могут выполнить такие проверки с большим количеством параллельных потоков или еще как то?

Какие идеи пока что посетили меня.
Положить первое множество в таблицу MySQL, и навесить ключ на поле с этим множеством.

Далее положить во временную таблицу InMemory все слова из текстов и потом соеденить их через INNER JOIN. Но у нас в каждом тексте может быть несколько совпадений с первым множеством и как при этом отделить одно от другого мне не совсем понятно.

Может можно как то использовать Elasticsearch, Redis и тому подобные системы?


Ответы (0 шт):