Я не прошу о внедрении самого алгоритма проверки орфографии. У меня есть база данных, содержащая сотни тысяч записей. То, что я хочу сделать, это проверить ввод пользователя в определенный столбец в таблице для всех этих записей и вернуть любые совпадения с определенным расстоянием для хамминга (опять же, этот вопрос не касается определения расстояния для хамминга и т.д.). Целью, конечно же, является создание функции "вы имели в виду", когда пользователь ищет имя, и если в базе данных нет прямых совпадений, возвращается список возможных совпадений.
Я пытаюсь придумать способ выполнить все эти проверки в наиболее разумной версии. Как я могу проверить вход пользователя во все эти записи наиболее эффективным способом?
Функция в настоящее время реализована, но время выполнения чрезвычайно медленное. Теперь он теперь загружает все записи из таблицы (или таблиц), указанной пользователем, в память, а затем выполняет проверку.
Для чего это стоит, я использую NHibernate для доступа к данным.
Я был бы признателен за любые отзывы о том, как я могу это сделать или какие у меня варианты.