Я новичок в поиске полнотекстового поиска SQL Server и пытаюсь найти лучший способ поиска по нескольким словам с использованием флексивного движка, поэтому поиск использует различные формы всех слов.Поиск по полнотекстовому поиску SQL Server с использованием CONTAINS, FORMSOF, NEAR для нескольких слов поиска
Из того, что я читал, FREETEXT использует неявное ИЛИ при использовании с несколькими словами. Я хочу AND, чтобы результаты поиска содержали все слова, поэтому из-за этого я предпочитаю использовать CONTAINS.
Я пытаюсь сделать что-то вроде запроса ниже, который использует FORMSOF с ключевым словом близости NEAR для нескольких слов. Обратите внимание, что это не является допустимым синтаксисом и возвращает ошибку:
select top 5 *
from content
WHERE CONTAINS((Title,Subtitle,Body), 'FORMSOF(INFLECTIONAL, model NEAR airplane)')
Однако запрос ниже работает, но я не знаю, если это дает ожидаемые результаты. Есть ли разница между «AND» и «NEAR» с полнотекстовым поиском SQL?
select top 5 *
from content
WHERE CONTAINS((Title,Subtitle,Body), 'FORMSOF(INFLECTIONAL, model) AND FORMSOF(INFLECTIONAL, airplane)')
Я предполагаю, что я спрашиваю, есть ли способ использовать СОДЕРЖИТ, FORMSOF, и NEAR с несколькими поисковыми словами? Или я должен просто использовать второй запрос выше, который использует «И»?