функциональность «похоже», «вы имели в виду ЭТО» с использованием полнотекстового поиска в SQL Server 2005 - PullRequest
3 голосов
/ 31 мая 2009

Я реализовал полнотекстовый поиск по базе данных SQL Server 2005, используя ключевое слово CONTAINSTABLE. Мне было интересно, есть ли способ добавить функциональность "звуки, как" или "вы имели в виду это" Google, если исходный запрос не дает результатов.

Ответы [ 3 ]

2 голосов
/ 31 мая 2009

Soundex для SQL Server очень ограничен и расстраивает, я действительно рекомендую вам взглянуть на Lucene.net http://incubator.apache.org/lucene.net/. Lucene - это высокопроизводительная, полнофункциональная библиотека механизма текстового поиска, она также очень прост в использовании в .NET проектах. Если вам нужен серьезный поисковик для вашего приложения, используйте Lucene.

Некоторые функции получены из http://lucene.apache.org/java/docs/features.html:

  • ранжированный поиск, лучшие результаты
  • вернул первый много мощный запрос
  • типы: запросы фраз, подстановочный знак
  • запросов, бесконтактных запросов, диапазон
  • запросов и других поисковых запросов (например, заголовок, автор, содержание)
  • сортировка по диапазону поиска по любому
  • поиск по полному индексу поля с
  • объединенные результаты позволяют одновременно
  • обновление и поиск
0 голосов
/ 31 мая 2009

Если вы хотите сделать это, вам нужно нормализовать необработанный текст и запросы. Простой пример: если вы хотите иметь возможность поиска по типу значения SOUNDEX, вам потребуется SOUNDEX как для строки запроса, так и для исходных необработанных данных, которые вы запрашиваете. Вы не можете эффективно обрабатывать пространство запросов на лету, поэтому вместо этого вы нормализуете его при создании индекса.

Технически, вам нужно только нормализовать фактический индекс, а не данные, но, поскольку ваши данные, вероятно, соответствуют вашему индексу, то его нужно будет нормализовать.

Это тот же процесс, что и "определение" слов, удаление множественного числа и т. Д.

0 голосов
/ 31 мая 2009

SQL Server имеет функции SOUNDEX и РАЗНИЦА

Этот связанный ответ SO может быть полезен: Как сделать SQL-запрос более мощным?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...