У меня есть отображение каталожных номеров на названия продуктов:
35 cozy comforter
35 warm blanket
67 pillow
и нужен поиск, который нашел бы смешанные имена с ошибками, например "warm cmfrter" .
У нас есть код, использующий расстояние редактирования (difflib), но он, вероятно, не масштабируется до 18000 имен.
Я добился чего-то похожего с Lucene, но PyLucene оборачивает только Java, что усложняет развертывание для конечных пользователей.
В SQLite обычно не скомпилированы полнотекстовые или скоринговые данные.
Xapian-привязки подобны C ++ и имеют некоторую кривую обучения.
Свист еще недостаточно документирован, но включает в себя проверку правописания, которую можно использовать.
Что еще там?