Вам нужна функция, которая может быстро отобразить текст в многомерное пространство.Ваша коллекция документов должна быть проиндексирована в соответствии с этим пространством, чтобы вы могли быстро найти соответствие наименьшего расстояния между вашим текстом и теми, которые находятся в пространстве.
Существуют алгоритмы, которые ускорят этот процесс индексирования, но могут быть такими же простыми, как субиндексирование пространства на фрагменты или блоки на менее детальной основе и сужение поиска таким образом.
Одним из простых способов определения такого пространства может быть термин-частота (TF), термин-частота-обратная частота документа (TFIDF) - но без определения ограничения на размер вашего словаряони могут страдать из-за проблем с пространством / точностью - тем не менее, имея словарь из наиболее конкретных 100 слов в корпусе, вы сможете получить разумное указание на сходство, которое будет масштабироваться до миллионов результатов.Это зависит от вашего корпуса.
Существует множество альтернативных функций, которые вы могли бы рассмотреть, но все они решат использовать надежный метод преобразования вашего документа в геометрический вектор, который вы затем сможете запросить на предмет сходства.