Sql FREETEXTTABLE не возвращает результат
Привет,
Я использовал SQL FREETEXTTABLE для поиска в столбце таблицы на основе введенных пользователем слов, таких как поисковая система, и возврата наиболее подходящих строк.
Столбец таблицы будет содержать много вопросов, и пользователь будет вводить что-то в текстовое поле (в любом порядке), и на основе того, что он набрал, мне нужно автоматически заполнить страницу поиска.
Я использовал для этого FREETEXTTABLE. Но в некоторых случаях это не работает.
Что я уже пробовал:
Если я наберу "что", он ничего не вернет.
DECLARE @query VARCHAR(50) = 'what' SELECT TOP 10 Questions FROM tblQuestion tq INNER JOIN FREETEXTTABLE(tblQuestion, Questions, @query) ft ON ( tq.ID = ft.[Key] ) ORDER BY ft.Rank DESC
но если я наберу "что есть", он вернет 10 записей.
DECLARE @query VARCHAR(50) = 'what is' SELECT TOP 10 Questions FROM tblQuestion tq INNER JOIN FREETEXTTABLE(tblQuestion, Questions, @query) ft ON ( tq.ID = ft.[Key] ) ORDER BY ft.Rank DESC
Я также попробовал CONTAINS и FREETEXT.
SELECT * FROM tblQuestion WHERE FREETEXT (Questions,'what')
Даже этот запрос вернул ноль строк.
Но этот нижеприведенный запрос вернул несколько строк.
SELECT * FROM tblQuestion WHERE FREETEXT (Questions,'what is')
Я хочу, чтобы он возвращался, даже если есть одно слово, введенное пользователем.
Кто-нибудь знает решение, Пожалуйста, помогите.
Спасибо.