Есть набор (~сотня тысяч штук) из блоков текста (на русском языке) небольшой длины (~500 символов).
На вход подается аналогичный блок текста, нужно найти ему соответствие в исходном наборе (или отсутствие такового).
Как правило входные блоки либо вообще не имеют аналогов в исходном наборе, либо полностью совпадают с какими-то блоками (задача тривиальна), либо имеют небольшие отличия (от пунктуации-орфографии до порядка и или отсутствия/наличия мелких фрагментов текста).
Функционально с задачей вполне справляется
TheFuzz, использующий расстояние левенштейна + токенизацию.
Но прогонять на каждый запрос полный неиндексированный перебор питоном сотни тысяч сравнений - не самая эффективная вещь.
Возможно есть какие-то базы данных умеющие в такой поиск из коробки ?