Я пытаюсь внедрить поисковую систему для своего рецепта-сайта, используя mongo db. Я пытаюсь отобразить предложения поиска в окне виджетов для пользователей.
Я даже пытаюсь поддерживать неверные запросы (levenshtein distance).
Например: всякий раз, когда пользователи печатают "pza", тип-вперед должен отображать "пиццу" как одно из предложений.
Как реализовать такую функциональность с помощью mongodb?
Обратите внимание, что поиск должен быть мгновенным, так как результат поиска будет получен с помощью виджета. Коллекции, над которыми я буду запускать поисковые запросы, имеют не более 1 миллиона записей.
Я думал о внедрении алгоритма расстояния levenshtein, но это замедляло бы производительность, поскольку коллекция огромна.
Я читал FTS (полнотекстовый поиск) в mongo 2.6 сейчас довольно стабилен, но мое требование - приблизительное совпадение, а не FTS. FTS не вернет "pza" для "пиццы".
Пожалуйста, рекомендуйте мне эффективный способ.
Я использую node собственный драйвер js mongodb.