Как вы можете реализовать "Вы имели в виду:", как Google делает в некоторых поисковых запросах?
PS: Я использую sphinx в своем продукте. Можете ли вы предложить, как я могу это реализовать. Любые руководства или предложения для некоторых других поисковых систем, которые имеют эту функциональность, наиболее приветствуются. Я использую rails2.3.8, если это помогает
Одно решение может быть:
Сделайте словарь известных "ключевых слов" или "фраз", а в действии поиска, если ничего не найдено, запустите вторичный запрос в этом словаре. Обновите этот словарь всякий раз, когда создается запись для поиска, скажем, сообщение в блоге или имя пользователя.
-
query = "supreman"
-
dictionary = [ "superman", "batman", "hanuman"...] (в таблице DB)
-
поиск (запрос)
-
Если результатов нет, то
искать в словаре (где "ключевое слово" LIKE-запрос или "фраза" LIKE-запрос) = > "супермен"
Проверьте документацию sphinx или solr. Они могут лучше реализовать этот запрос "Like", который возвращает соответствие%.
- display → Вы имели в виду "superman"?
Но дело в том, как сделать его эффективным?