Поделиться через


Предикат FREETEXT

Предикат FREETEXT является частью предложения WHERE и поддерживает поиск слов и фраз в текстовых столбцах. Используйте предикат FREETEXT для поиска документов, содержащих сочетания слов поиска, распределенных по указанному содержимому или столбцам. Чтобы получить значение ранга, включите System.Search.Rank, который является ранжированием relevence, в качестве столбца в инструкции SELECT.

Предикат FREETEXT имеет следующий синтаксис:

FREETEXT
(["<fulltext_column>",]'<freetext_condition>'[,<LCID>])...

Ссылка на полнотекстовый столбец является необязательной. С его помощью можно указать один столбец или псевдоним группировки столбцов , для которого проверяется предикат FREETEXT. Если полнотекстовый столбец указан как "ALL" или "*", выполняется поиск по всем свойствам индексированного текста. Хотя столбец не обязательно должен быть текстовым свойством, результаты могут быть бессмысленными, если столбец имеет какой-то другой тип данных. Имя столбца может быть обычным идентификатором или идентификатором с разделителями, и его необходимо отделить от условия запятой. Если полнотекстовые условия не заданы, используется столбец Содержимое, который является текстом документа.

Вы можете указать языковой стандарт поиска, чтобы определить соответствующие средства разбиения по словам и формы перегиба для поискового запроса. Допустимые значения языкового стандарта — это стандартный код языка Windows (LCID). Например, 1033 — это код LCID для США английского языка. Поместите LCID в качестве последнего элемента в круглые скобки предложения FREETEXT. Важные сведения о поиске и языках см. в разделе Использование локализованного поиска.

Примечание

Языковой стандарт поиска по умолчанию — это системный языковой стандарт по умолчанию.

 

Необходимо заключить часть условия свободного текста в одинарные кавычки и состоять из одного или нескольких условий поиска. Предикат FREETEXT не поддерживает логические операции. Чтобы найти фразу, как если бы она была одним словом, заключите ее в двойные кавычки.

При использовании предиката FREETEXT результаты поискового запроса возвращают документы, содержащие все условия поиска. Термины не должны отображаться в определенном порядке. Документы, содержащие больше условий поиска, имеют более высокие значения столбцов ранжирования.

Примеры

В следующем примере выполняется поиск документов, содержащих слова "компьютер", "программное обеспечение", "оборудование" или сочетания этих слов:

WHERE FREETEXT('computer software hardware')

Примечание

В одном предикате FREETEXT нельзя использовать сопоставление как по одному слову, так и с сопоставлением фраз.

 

При выполнении запросов с сокращениями необходимо экранировать кавычки в контракте при использовании FREETEXT, но не при использовании CONTAINS.

Например, следующий синтаксис завершается ошибкой:

WHERE FREETEXT(*,'"We'll meet next week"')

Правильный синтаксис включает две одинарные кавычки, а не двойные кавычки.

Следующий синтаксис выполняется успешно:

WHERE FREETEXT(*,'"We''ll meet next week"')

Reference

Предикат CONTAINS

Предложения WHERE

Основные понятия

Не полнотекстовые предикаты