FullText содержит слово, а не часть слова

У меня есть полнотекстовый индекс по списку URL-адресов;

И я пытаюсь выполнить полнотекстовый поиск в SQL

SELECT * FROM urls WHERE CONTAINS(urls.Url, '"http://localhost:8080/"')

Но это дает мне;

когда я только хочу

Как я могу это сделать? Мне по-прежнему нужны возможности, которые предлагает CONTAINS, такие как подстановочные знаки OR, AND и *.


person TryingToImprove    schedule 06.01.2015    source источник
comment
где url = 'localhost:8080'   -  person paparazzo    schedule 06.01.2015
comment
Я не могу этого сделать, потому что мне нужны другие возможности, которые предлагает CONTAINS; CONTAINS(urls.Url, '"http://localhost:49318" OR "http://localhost:8080/Api/Web/Site*"')   -  person TryingToImprove    schedule 06.01.2015
comment
где url = 'localhost:49318' ИЛИ ​​URL вида 'localhost:8080/Api/Web/Site%'   -  person paparazzo    schedule 06.01.2015
comment
@blam это все еще не дает мне возможностей, которые мне понадобятся. Я ищу что-то, что могло бы отметить конец строки в инструкции contains..   -  person TryingToImprove    schedule 06.01.2015
comment
Если вы ищете буквальные значения, FTS, вероятно, не лучший выбор. Примените к столбцу обычный индекс и используйте его при поиске литералов, а также используйте функцию FTS при поиске по более широким критериям.   -  person Brad D    schedule 06.01.2015
comment
Какие возможности? Полный текст так не работает.   -  person paparazzo    schedule 06.01.2015


Ответы (1)


Вы не можете выполнить точное соответствие с contains.

Вы можете переписать свой запрос следующим образом:

SELECT * FROM urls WHERE urls.Url = 'http://localhost:8080/'
   OR CONTAINS(...)
person SQLDiver    schedule 06.01.2015