У меня есть поисковый запрос, который берет фразу, набранную пользователем, и должен вернуть результат, вот пример:
SELECT rank,[KEY] FROM CONTAINSTABLE(tblproduct, (title,subtitle,publisher_name), @search_text,15)
Где @search_text
Set @search_text = '"my favourite word*"'
Фраза в том виде, в каком она есть, представляет собой точное совпадение названия книги в базе данных. Тем не менее, подстановочный знак (*) делает его таким, чтобы он не возвращал никаких результатов.
Когда я опускаю подстановочный знак, я получаю точное совпадение фразы, однако некоторые другие фразы, такие как "Имперфекционисты", не дают результатов с подстановочным знаком или без него.
Почему это? Что я могу проверить?
В настоящее время, если для группового символа не создается набор результатов, я запускаю запрос без подстановочного знака, чтобы посмотреть, возвращает ли он что-нибудь. Если и это не помогает, я запускаю нормальное выражение «like».
Очевидно, что подобное утверждение будет длиться вечно ... и я не хочу использовать его в базе данных с 7,6 миллионами для поиска, который должен быть выполнен с полным текстом ...
Любая помощь приветствуется!