2008-10-13 1 views
4

Что бы вы рекомендовали для поиска таблицы sql-сервера (столбца varchar (max)) для термина?Лучший способ поиска в столбце varchar в sql-сервере

Скажем, как в ebay, если вы ищете «wii brand new», вы получаете результаты, такие как «Brand New Nintendo Wii Fit Game + Balance Board Bundle», «Wii Fit (Wii) BRAND NEW WII FIT GAME + БАЛАНС ".

Я думаю, что он в основном ищет каждое слово и возвращает те, которые содержат все слова, что бы вы порекомендовали?

ответ

3

Вы ищете полнотекстовое индексирование, это позволяет вам выполнять более сложные запросы, чем регулярные выражения или подобные.

Проверить this изделие для быстрого введения, инструкции для SQL Server 2000, где он немного сложнее в установке, чем в 2005 или 2008

Соответствующая цитата:

 
With full-text searching, you can perform many other types of search: 

* Two words near each other 
* Any word derived from a particular root (for example run, ran, or running) 
* Multiple words with distinct weightings 
* A word or phrase close to the search word or phrase 
1

Зависит что вы пытаетесь сделать. Для простого поиска вы можете просто сделать select * from table where field like '%word%'. Но если это какая-то особенность приложения, вы хотите заглянуть в полнотекстовое поисковое приложение. Он может хранить слова, которые появляются в этом поле в качестве индексов, а затем выполнять поиск по этим словам вместо использования этого поля.

Смежные вопросы