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


Предикат CONTAINS

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

Ниже приведен основной синтаксис предиката CONTAINS.

...CONTAINS(["<fulltext_column>",]'<contains_condition>'[,<LCID>])...

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

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

Примечание

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

Часть contains_condition должна быть заключена в одинарные кавычки для отдельных слов или двойные кавычки для фраз и состоять из одного или нескольких условий поиска контента, объединенных с помощью логических операторов AND или OR. Необязательный унарный оператор NOT после оператора AND можно использовать для отмены логического значения условия поиска контента.

Примечание

Оператор NOT может выполняться только после И. Оператор NOT нельзя использовать, если имеется только одно условие соответствия или после оператора OR .

Круглые скобки можно использовать для группировки и вложения условий поиска контента. В следующей таблице описан порядок приоритета для логических операторов.

Порядок (приоритет) Логический оператор
Первый (самый высокий) NOT
Второе AND
Третий (самый низкий) OR

Логические операторы одного типа являются ассоциативными, и порядок вычислений не указан. Например, (A AND B) AND (C AND D) можно вычислить (B AND C) AND (A AND D) без изменения логического результата.

В следующей таблице описаны типы условий поиска контента.

Тип Описание Примеры
Word Одно слово без пробелов или других знаков препинания. Двойные кавычки не нужны.
...WHERE CONTAINS ('computer')
Фраза Несколько слов или включенных пробелов.

... WHERE CONTAINS ("компьютерное программное обеспечение")

Или, чтобы использовать двойную кавычку:

... WHERE CONTAINS ('"computer ""science"" "')

Подстановочный знак Слова или фразы со звездочкой (*) в конце. Дополнительные сведения см. в разделе Использование подстановочных знаков в предикате CONTAINS.

... WHERE CONTAINS ('compu*"')

Matches "computer", "computers", "computation", and "compulsory"

Полнотекстовый столбец Имя столбца свойства, по которому будет соответствовать оставшийся запрос.
...WHERE CONTAINS (System.Author,'"James" OR "Juan"')
Логическое Слова, фразы и строки с подстановочными знаками, объединенные с помощью логических операторов AND, OR или NOT. Заключите логические термины в двойные кавычки.

... WHERE CONTAINS ("монитор компьютера" И "программное обеспечение" И "install component")

... WHERE CONTAINS (' "computer" AND "software" AND "install" ' )

...WHERE CONTAINS ('"computer software install"')

Near Слова, фразы или подстановочные знаки, разделенные функцией NEAR. Дополнительные сведения см. в разделе NEAR Term.
...WHERE CONTAINS
('"computer" NEAR "software"')
FormsOf Соответствует слову и перегибным версиям этого слова. Дополнительные сведения см. в разделе Термин FORMSOF.

... WHERE CONTAINS ('FORMSOF (INFLECTIONAL, "happy"))

Matches "happy", "happier", "happiest", "happily", and so on.

IsAbout Объединяет результаты поиска по нескольким словам, фразам или подстановочным знакам. Каждое условие поиска можно при необходимости взвесить. При необходимости можно указать метод вычисления ранга, который объединяет весовые коэффициенты и количество элементов, которым соответствует документ. Дополнительные сведения см. в разделе Термин ISABOUT.
...WHERE CONTAINS
('ISABOUT ( "computer" WEIGHT (0.75) ,
    "software" WEIGHT (0.25) ,
    "development" WEIGHT (0.255)
 ) RANKMETHOD INNER PRODUCT
')

Этот раздел содержит следующие подразделы:

Ссылка

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

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

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

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