на сайте клиента :), название которого по корпоративным правилам я сказать не могу.
если надо, то послезавтра могу сделать какое-нибудь другое демо, и выложить его к себе.
Всё-таки для перестановок (обмена) символов, наверное, надо сделать ещё зависимость от растояния между ними. Потому как предлагать на "queri" замену "quire" не совсем логично.
ну, наверное, потому что lucene это библиотека для реализации поиска, а моя статья про "Did You Mean". (кстати, для нечёткого поиска в lucene используется расстояние левенштейна, которое даёт результат далёкий от идеального)
Разукрашка работает не очень правильно, например, для слова dolar выдает dollar, а должна dollar. Но для того, чтобы реализовать нормальную подсветку, я так понимаю, придется самому писать функцию определения расстояния Левенштейна, а это ненужный гемор.
Ну это все мелочи, а в целом - отличная, интересная статья.
Делаем правильный Did You Mean