2017-02-18 11 views
0

Новое для SQL по большей части, поэтому, возможно, есть лучший подход, но я ищу способ поиска по базе данных с помощью текстового поля, которое может принимать любое количество слов/чисел. В основном, как поисковая система. Столбцы для поиска: [Col1], [Col2], and [Col3]SQL Server 2016, Как использовать CONTAINS() с множественным поиском слов в базе данных?

У меня есть таблица с полным текстом, есть ли способ, которым я могу использовать CONTAINS для этого?

DECLARE @Search nvarchar(500) 
SET @Search = 'foo 7 bar' -- can have multiple words/numbers 

SELECT * 
FROM TableName 
WHERE CONTAINS([Col1] or [Col2] or [Col3], @Search) 

Я понимаю, что последний синтаксис строки неверен, но это в основном то, что я ищу. Не должно быть точного соответствия или чувствительности к регистру, а также порядок формулировки вопроса ('red cat' = 'cat red'). Также хотелось бы показать результаты для близких совпадений, т. Е. Некоторые ключевые слова не соответствуют чему-либо.

Спасибо!

+0

Это должно дать вам подсказку. http://stackoverflow.com/questions/3441775/use-multiple-words-in-fulltext-search-input-string –

ответ

0

ОКАЗЫВАЕТСЯ, используя FREETEXT() дает близкий результат к тому, что я был находясь в поиске.