Вопросы о синтаксисе полнотекстового поиска SQL Server - PullRequest
2 голосов
/ 15 июня 2011

Я пытаюсь проработать некоторые тонкости синтаксиса полнотекстового поиска.У меня есть основы, но я столкнулся со следующими вопросами:

  1. В верхней части этой страницы , он показывает случаи, когда требуются двойные кавычки, и включает в себяпример "овсянка".Почему для этого нужны двойные кавычки?Это опечатка?

  2. В нижней части на той же странице указано, что любые экземпляры AND, AND NOT, OR илиOR NOT в некоторых случаях следует заключать в кавычки.Зачем?Разве это не стоп-слова?

  3. На этой странице приведено несколько примеров, включающих цитируемые и не цитируемые поисковые запросы.В чем разница между CONTAINS(Column, 'term') и CONTAINS(Column, '"term"')?

1 Ответ

2 голосов
/ 15 июня 2011

1) Полнотекстовый поиск использует двойные кавычки в качестве разделителя текста, и рекомендуется использовать их, особенно если вы, вероятно, будете иметь более сложные условия поиска. Например. Вы можете поместить фразы или слова в двойные кавычки.

"Oatmeal"
"Hot Oatmeal"

2) Я думаю, что логика в разделе «и нет, или нет» заключается в том, чтобы найти логические термины и заключить содержимое в кавычки с обеих сторон.

e.g. OatMeal or Hot Oatmeal

перевести на

'"Oatmeal" or "hot oatmeal"'

вместо

'oatmeal "or" hot oatmeal'

3) Должно быть: в нем содержится (столбец, «термины»), а в таблице будет содержаться таблица 3 запроса (таблица, столбец, «условия»). Я провел некоторое тестирование базы данных, в которой содержится 30 тыс. Документов (*) 1013 *, '"dentist"') и содержит (, 'dentist') вернуло те же 652 строки. Containstable возвращает их с одинаковым рейтингом.

...