Справочник по синтаксису языка запросов FAST (FQL)FAST Query Language (FQL) syntax reference

Узнайте, как создавать сложные поисковые запросы для службы поиска в SharePoint с помощью языка запросов FAST (FQL).Learn about constructing complex search queries for Search in SharePoint using the FAST Query Language (FQL). В этом справочнике описываются элементы запроса FQL и использование спецификаций свойств, выражений с маркерами и операторов в запросах FQL.This reference describes the elements of an FQL query and how to use property specifications, token expressions, and operators in your FQL queries.

Общие сведения об FQL, частях выражений и выражениях языка запросов в SharePointIntroduction to FQL and query language subexpressions and expressions in SharePoint

Язык FAST-запросов (FQL) это мощный язык запросов, который позволяет разработчикам выполнять точный поиск и сужать область поиска до значений, которые относятся к конкретному управляемого свойству или полнотекстовому индексу.The FAST Query Language (FQL) is a powerful query language that enables developers to perform exact searches and to narrow the scope of your search to values that belong to a specific managed property or a full-text index.

Выражение языка запросов может содержать вложенные части выражения, которые включают термины запроса, спецификации свойств и операторы, описанные в таблице 1.A query language expression can contain nested subexpressions that include query terms, property specifications, and operators, as described in Table 1.

Таблица 1. Части выражений в выражениях языка запросовTable 1. Subexpressions in query language expressions

ЭлементItem ОписаниеDescription
Выражения с маркерамиToken expressions
Один или несколько поисковых терминов, фраз или числовых значений в запросе.One or more query terms, phrases, or numeric values to search for in a query.
Спецификация свойстваProperty specification
Свойство или полнотекстовый индекс, соответствующий затрагиваемому выражению.A property or full-text index to match with the affected expression.
ОператорыOperators
Ключевые слова, определяющие логические операции (например, AND, OR) или другие ограничения для операндов (например, FILTER).Keywords that specify Boolean operations (such as AND, OR) or other constraints to operands (such as FILTER.)

Пример FQL-запросаFQL query example

Следующий пример запроса FQL служит для поиска терминов "hello" и "world" в управляемом свойстве body индексированного элемента:The following FQL query example searches for the terms "hello" and "world" in the body managed property of an indexed item:

body:string("hello world", mode="and")

В этом примере происходит указанный ниже процесс.In the example:

  • body: ограничивает область запроса текстом управляемого свойства в данном элементе.body: limits the scope of the query to the body managed property within the item.

  • "hello world" операнд для оператора STRING, указывающий поисковые термины."hello world" is the operand to the STRING operator, which indicates the terms to search for.

  • mode="and" указывает, что логический оператор запроса AND будет применен к "hello world".mode="and" indicates that the logical query operator AND will be applied to "hello world".

Длина FQL-запросов ограничена 2048 символами.The length of FAST Query Language queries is limited to 2,048 characters.

Спецификация свойств в FQLProperty specification in FQL

Спецификация свойств ограничивает область затрагиваемых выражений определенными областями индексированного содержимого. Эта область может быть определена полнотекстовым индексом или управляемым свойством.A property specification limits the scope of the affected expression to specific regions of the indexed content. Such a region can be identified by a full-text index or a managed property.

Управляемые свойства типа Text или YesNo считаются текстом. Все остальные типы управляемых свойств, в том числе тип Datetime, считаются числовыми значениями.Managed properties of type Text and YesNo are evaluated as text. All other managed property types, including the Datetime type, are evaluated as numeric values.

Если не включить спецификацию свойства для выражения, поисковая система будет использовать полнотекстовый индекс по умолчанию, определенный в схеме индекса.If you don't include a property specification for an expression, the search engine attempts to match the default full-text index defined in the index schema.

После имени свойства всегда должно стоять двоеточие (оператор In), а числовые операторы всегда должны включать спецификацию свойства.The property name must always precede a colon ( In operator), and numeric operators must always include a property specification.

Спецификация свойства (оператор In) может быть применена к следующим сущностям запроса:A property specification (the In Operator) may be applied to the following query entities:

  • Одиночному термину или фразе, как показано ниже:A single term or phrase, as follows:

    author:shakespeare

    title:"to be or not to be"

  • Оператору, например STRING, как показано ниже.An operator, for example, the STRING operator, as follows:

    title:string("to be or not to be")
In this case the property specification applies to the complete operator expression.

ПримерыExamples

Выражения с маркерами в FQLEach of the following expressions matches items that have both "much" and "nothing" in the title managed property.

title:and(much, nothing)

and(title:much, title:nothing)

title:string("much nothing", mode="and")

Выражения с маркерами на языке FQLToken expressions in FQL

Текстовое выражение с маркером может быть одним словом или фразой, заключенной в двойные кавычки.Token expressions are words, phrases, or numeric values that are matched against the index.

Числовое выражение с маркером может быть одним значением или диапазоном значений.A text token expression can be a single word or a phrase enclosed in double quotation marks.

Выражения с подстановочными знакамиA numeric token expression can be a single value or a value range expression.

Выражения с подстановочными знакамиWildcard expressions

Выражение с подстановочными знаками — это термин или фраза, включающие знак звездочки ("*"). Звездочка соответствует любому количеству символов (или их отсутствию), за исключением пробелов.A wildcard expression indicates a single term or phrase that includes the Asterisk ("*") character; asterisk implies a match of zero or more characters, excluding whitespace. Язык FQL поддерживает поиск по префиксу для отдельных текстовых управляемых свойств и полнотекстовых индексов.FQL supports prefix search for individual text managed properties and full-text indexes.

Примеры выражений с подстановочными знакамиWildcard expression examples

Выражения с числовыми терминамиThe following is a list of valid uses of wildcard expressions in FQL:

  • text*

  • string("this examp*")

Выражения с числовыми терминамиNumeric term expressions

Каждое выражение с числовым термином должно включать спецификацию свойства совместимого типа схемы индекса. В таблице 2 перечислены числовые типы данных, которые можно использовать в FQL.Each numeric term expression must include a property specification of a compatible index schema data type. Table 2 lists the numeric data types that can be used in FQL.

Тип FQLTable 2. Numeric data types that can be used in FQL

Совместимые типы схем индексаFQL type ОписаниеCompatible index schema types ОписаниеDescription
IntegerInt
64-разрядное целое число.Integer
64-битное целое число.64 bit integer.
DoubleFloat
64-разрядное число с плавающей запятой двойной точности.Double
64-битное число с плавающей запятой (двойная точность).64-bit (double precision) floating point.
128-разрядное десятичное число.Decimal
128-разрядное десятичное число.Decimal
128-битное десятичное число128-bit decimal
Значение даты и времени.Datetime
Значение даты и времени.Datetime
За счет поддержки даты и времени в FQL над их значениями можно выполнять те же числовые операции, что и над другими числовыми значениями.A date and time value.
Выражения запросов даты и времениThe date/time support in FQL enables the same numeric operations on date/time values as on other numeric values.

Выражения запросов даты и времениDate and time query expressions

В запросах поддерживаются следующие совместимые со стандартом ISO 8601 форматы datetime:FQL provides the datetime data type for date and time.

YYYY-MM-DDThe following ISO 8601-compatible datetime formats are supported in queries:

  • YYYY-MM-DDThh:mm:ssYYYY-MM-DD

  • YYYY-MM-DDThh:mm:ssYYYY-MM-DDThh:mm:ss

  • ГГГГ-ММ-ДДTчч:мм:ссZYYYY-MM-DDThh:mm:ssZ

  • ГГГГ-ММ-ДДTчч:мм:ссfrZYYYY-MM-DDThh:mm:ssfrZ

В этих форматах datetime:In these datetime formats:

  • ГГГГ задает год из четырех цифр.YYYY specifies a four-digit year.

    Примечание

    Поддерживается только формат года из четырех цифр.Only four-digit years are supported.

  • ММ задает месяц в формате двух цифр. Например, 01 — это январь.MM specifies a two-digit month. For example, 01 = January.

  • Параметр DD задает двузначное значение дня месяца (от 01 до 31).DD specifies a two-digit day of the month (01 through 31).

  • Параметр T обозначает букву "T".T specifies the letter "T".

  • Параметр hh обозначает часы в формате двух цифр (от 00 до 23). Обозначения a.m. и p.m. не допускаются.hh specifies a two-digits hour (00 through 23); A.M./P.M. indication is not allowed.

  • Параметр mm обозначает минуты в формате двух цифр (от 00 до 59).mm specifies a two-digit minute (00 through 59).

  • сс — двузначное число секунд (от 00 до 59).ss specifies a two-digit second (00 through 59).

  • Все значения даты и времени необходимо указывать в часовом поясе UTC (другое название GMT). Идентификатор часового пояса UTC (символ "Z" в конце) указывать необязательно.fr specifies an optional fraction of seconds, ss; between 1 to 7 digits that follows the . after the seconds. For example, 2012-09-27T11:57:34.1234567.

Все значения даты и времени необходимо указывать в часовом поясе UTC (другое название GMT). Идентификатор часового пояса UTC (символ "Z" в конце) указывать необязательно.All date/time values must be specified according to the UTC (Coordinated Universal Time), also known as GMT (Greenwich Mean Time) time zone. The UTC time zone identifier (a trailing "Z" character) is optional.

Зарезервированные слова, специальные знаки и escape-символыReserved words, special characters, and escaping

Чтобы представить любое из этих слов в виде терминов в выражении запроса, их необходимо заключить в двойные кавычки, как показано в следующих примерах:The following words are reserved within FQL.

and, or, any, andnot, count, decimal, rank, near, onear, int, in32, int64, float, double, datetime, max, min, range, phrase, scope, filter, not, string, starts-with, ends-with, equals, words, xrank.

Чтобы представить любое из этих слов в виде терминов в выражении запроса, их необходимо заключить в двойные кавычки, как показано в следующих примерах:If you want to express any of these words as terms in a query expression, you must enclose them in double quotation marks as shown in the following examples:

  • or("any", "and", "xrank")

  • string("any and xrank", mode="OR")

  • phrase(this, is, a, "phrase")

Совет. В зарезервированных словах и символах не учитывается регистр, но для совместимости с будущими версиями рекомендуем использовать символы нижнего регистра.Tip: Reserved words and characters are not case-sensitive, but using lowercase characters are recommended for future compatibility.

Разметка терминов запросов выполняется в соответствии с вашими региональными параметрами. В процессе разметки удаляются некоторые специальные символы. Так как специальные символы удалены, следующие FQL-выражения эквивалентны:FQL does not always require a string to be enclosed in double quotation marks. For example, and(cat, dog) is valid FQL even though cat and dog are not in double quotation marks. However, we recommend that you use double quotation marks to avoid conflicts with reserved words.

Разметка терминов запросов выполняется в соответствии с вашими региональными параметрами. В процессе разметки удаляются некоторые специальные символы. Так как специальные символы удалены, следующие FQL-выражения эквивалентны:The query terms are tokenized according to your locale setting. The tokenization process removes certain special characters. Because special characters are removed, the following FQL expressions are equivalent.

and("[king]", "<queen>")

and("king", "queen")

Операторы FQLWhen a query includes terms from user input or another application, use the string("<query terms>", mode="AND|OR|PHRASE") operator to avoid conflict with reserved words in the query language. You must also remove possible double quotation marks from the user-provided query.

Операторы FQLFQL Operators

В данном синтаксисе:FAST Query Language (FQL) operators are keywords that specify Boolean operations or other constraints to operands. The FQL operator syntax is as follows:

[property-spec:]operator(operand [,operand]* [, parameter="value"]*)

В этом синтаксисе:In the syntax:

  • operator это ключевое слово, обозначающее операцию, которую необходимо выполнить.property-spec is an optional property specification followed by the "in" operator.

  • operand это выражение с термином или другой оператор.operator is a keyword that specifies an operation to perform.

  • parameter это имя значения, которое изменяет поведение оператора.operand is a term expression or another operator.

  • value это значение для имени параметра.parameter is the name of a value that changes the behavior of the operator.

  • Регистр имен операторов, имен и текстовых значений параметров не учитывается. Пробелы в теле оператора допускаются, но игнорируются, если они не заключены в двойные кавычки. Длина FQL-запросов ограничена 2048 символами.value is the value to use for the parameter name.

В таблице 3 перечислены типы операторов, поддерживаемые FQL.Operator names, parameter names, and parameter text values are case-insensitive. White space is allowed within the operator body, but is ignored unless it is enclosed in double quotation marks. The length of FAST Query Language queries is limited to 2,048 characters.

В таблице 3 перечислены типы операторов, поддерживаемые в языке FQL.Table 3 lists the types of operators supported by FQL.

ТипTable 3. FQL supported operator types

ТипType ОписаниеDescription СтрокаOperators
StringString
Позволяет указывать операции запросов в строке терминов. Этот оператор чаще всего используется с текстовыми терминами.Enables you to specify query operations on a string of terms. This is the most common operator to use on text terms.
ЛогическийSTRING
ЛогическийBoolean
Позволяет объединять термины и части выражений в запросе.Enables you to combine terms and sub-expressions in a query.
РасстояниеAND, OR, ANY, ANDNOT, NOT, COUNT, COUNT
Компонент ранжирования с учетом расположенияProximity
Позволяет указывать удаленность от терминов запроса в соответствующей текстовой последовательности.Enables you to specify the proximity of the query terms in a matching sequence of text.
ЧисловойNEAR, ONEAR, PHRASE, STARTS-WITH, ENDS-WITH, EQUALS
ЧисловойNumeric
Позволяет указывать числовые условия в запросе.Enables you to specify numeric conditions in the query.
РелевантностьRANGE , INT, FLOAT, DATETIME, DECIMAL
ВажностьRelevance
Позволяет повлиять на оценку релевантности запроса.Enables you to impact the relevance evaluation of a query.
XRANK и FILTERXRANK and FILTER

В таблице 4 представлен список поддерживаемых операторов.Table 4 provides a list of the supported operators.

ОператорTable 4. FQL supported operators

ОписаниеOperator ОписаниеDescription ТипType
Возвращает только элементы, которые соответствуют всем операндам AND.AND
ЛогическийReturns only items that match all AND operands.
ЛогическийBoolean
Возвращает только элементы, которые соответствуют первому операнду и не соответствуют последующим операндам.ANDNOT
ЛогическийReturns only items that match the first operand and that don't match the subsequent operands.
ЛогическийBoolean
ANYANY
Аналогичен оператору OR, но на динамический ранг (степень релевантности в результирующем наборе) не влияет ни количество совпадающих операндов, ни расстояние между терминами в элементе.Similar to the OR operator except that the dynamic rank (the relevance score in the result set.md) is affected by neither the number of operands that match nor the distance between the terms in the item.
ЛогическийBoolean
Позволяет указывать, сколько терминов запроса должен включать элемент, чтобы он был возвращен в качестве результата. Операндом может быть один термин запроса, фраза или термин запроса с подстановочными знаками.COUNT
ЛогическийEnables you to specify the number of query term occurrences an item must include to be returned as a result. The operand may be a single query term, a phrase, or wildcard query term.
ЛогическийBoolean
Позволяет явно задавать тип числовых значений.DATETIME
Явное преобразование типа необязательно и обычно не требуется. Тип термина запроса определяется в соответствии с типом целевого числового управляемого свойства.Provides explicit typing of numeric values.
ЧисловойThe explicit type conversion is optional and usually is not needed. The type of the query term is detected according to the type of the target numeric managed property.
ЧисловойNumeric
Позволяет явно задавать тип числовых значений.DECIMAL
Явное преобразование типа необязательно и обычно не требуется. Тип термина запроса определяется в соответствии с типом целевого числового управляемого свойства.Provides explicit typing of numeric values.
ЧисловойThe explicit type conversion is optional and usually is not needed. The type of the query term is detected according to the type of the target numeric managed property.
ЧисловойNumeric
Указывает необходимость наличия слова или фразы в конце управляемого свойства.ENDS-WITH
РасстояниеSpecifies that a word or phrase must appear in the end of a managed property.
РасстояниеProximity
Указывает, что слово или фраза должна точно соответствовать управляемому свойству.EQUALS
РасстояниеSpecifies that a word or phrase term or phrase must provide an exact token match with the managed property.
РасстояниеProximity
Используется для запроса метаданных или других структурированных данных.FILTER
РелевантностьUsed to query metadata or other structured data.
РелевантностьRelevance
Позволяет явно задавать тип числовых значений.FLOAT
Явное преобразование типа необязательно и обычно не требуется. Тип термина запроса определяется в соответствии с типом целевого числового управляемого свойства.Provides explicit typing of numeric values.
ЧисловойThe explicit type conversion is optional and usually is not needed. The type of the query term is detected according to the type of the target numeric managed property.
ЧисловойNumeric
Позволяет явно задавать тип числовых значений.INT
Явное преобразование типа необязательно и обычно не требуется. Тип термина запроса определяется в соответствии с типом целевого числового управляемого свойства.Provides explicit typing of numeric values.
ЧисловойThe explicit type conversion is optional and usually is not needed. The type of the query term is detected according to the type of the target numeric managed property.
ЧисловойNumeric
NEARNEAR
РасстояниеRestricts the result set to items that have N terms within a certain distance of one another.
РасстояниеProximity
Возвращает только термины, которые не включают операнд.NOT
ЛогическийReturns only items that exclude the operand.
ЛогическийBoolean
ONEARONEAR
Расстояние The ordered variant of NEAR, and requires an ordered match of the terms. The ONEAR operator can be used to restrict the result set to items that have N terms within a certain distance of Returns only items that don't match the operand. The operand may be any valid FQL expression.one another.
РасстояниеProximity
OROR
Возвращает только те элементы, которые совпадают по крайней мере с одним из операндов выражения OR.Returns only items that match at least one of the OR operands. Совпадающим элементам назначается более высокий динамический ранг (степень релевантности в результирующем наборе), если обнаружено больше совпадающих операндов выражения OR.Items that match will get a higher dynamic rank (relevance score in the result set.md) if more of the OR operands match.
ЛогическийBoolean
Возвращает только элементы, которые соответствуют определенной строке маркеров.PHRASE
РасстояниеReturns only items that match an exact string of tokens.
РасстояниеProximity
Позволяет использовать выражения соответствия диапазонам. Оператор RANGE используется для числовых управляемых свойств и управляемых свойств даты и времени.RANGE
Числовой Enables range matching expressions. The RANGE operator is used for numeric and date/time managed properties.
ЧисловойNumeric
Указывает необходимость расположения слова или фразы в начале управляемого свойства.STARTS-WITH
РасстояниеSpecifies that a word or phrase must appear in the start of a managed property.
РасстояниеProximity
Задает логическое условие соответствия для текстовой строки.STRING
СтрокаDefine a Boolean matching condition to a text string.
СтрокаString
Позволяет повысить динамический рейтинг элементов на основе наличия определенных терминов. Выражение XRANK содержит один компонент, который должен совпадать, и один или несколько компонентов, которые только увеличивают динамический рейтинг.XRANK
Релевантность Enables you to boost the dynamic rank of items based on certain term occurrences without changing which items match the query. A XRANK expression contains one component that must be matched, and one or more components that contribute only to dynamic ranking.
ВажностьRelevance

Примечание

В SharePoint оператор RANK является нерекомендуемым и больше не оказывает никакого влияния.In SharePoint, the RANK operator is deprecated and will no longer have any effect. Используйте вместо него оператор XRANK.Use XRANK instead.

ANDAND

СинтаксисReturns only items that match all AND operands. The operands may be a single term or any valid FQL sub-expression.

СинтаксисSyntax

and(operand, operand [, operand]*)

ПараметрыParameters

Неприменимо.Not applicable.

ПримерыExamples

ANDNOTThe following expression matches items for which the default full-text index contains "cat", "dog", and "fox".

and(cat, dog, fox)

ANDNOTANDNOT

СинтаксисReturns only items that match the first operand and that don't match the subsequent operands. The operands may be a single term or any valid FQL sub-expression.

СинтаксисSyntax

andnot(operand, operand [,operand]*)

ПараметрыParameters

Неприменимо.Not applicable.

ПримерыExamples

Пример 2. Следующее выражение соответствует элементам, для которых полнотекстовый индекс по умолчанию содержит слово "cat" и не содержит ни "dog", ни "chihuahua".Example 1. The following expression matches items for which the default full-text index contains "cat" but not "dog".

andnot(cat, dog)

ANYExample 2. The following expression matches items for which the default full-text index contains "dog" but neither "beagle" nor "chihuahua".

andnot(dog, beagle, chihuahua)

ANYANY

Примечание

В SharePoint оператор ANY является нерекомендуемым.In SharePoint, the ANY operator is deprecated. Используйте вместо него оператор OR.Use the OR operator instead.

Компонент динамического рейтинга для этой части запроса основан на наиболее подходящем термине в выражении ANY.Similar to the OR operator except that the dynamic rank (the relevance score in the result set) is affected by neither the number of operands that match nor the distance between the terms in the item. The operands may be a single term or any valid FQL sub-expression.

Динамический компонент ранжирования для этой части запроса основан на самом подходящем термине из выражения ANY.The dynamic ranking component for this part of the query is based on the best matching term within the ANY expression.

Примечание

Отличие от оператора OR заключается только в ранжировании в рамках результирующего набора.he difference from OR is related only to the ranking within the result set. Запросу будет соответствовать тот же общий набор элементов.The same total set of items will match the query.

СинтаксисSyntax

any(operand, operand [,operand]*)

ПараметрыParameters

Неприменимо.Not applicable.

ПримерыExamples

Если индекс содержит и "cat", и "dog", но слово "cat" считается лучшим соответствием, динамический рейтинг элемента будет основан на слове "cat" без учета "dog".The following expression matches items for which the default full-text index contains "cat" or "dog".

COUNTIf the index contains both "cat" and "dog", but "cat" is considered a better match, the 'item's dynamic rank will be based on "cat" with no consideration given to "dog".

any(cat, dog)

COUNTCOUNT

СинтаксисSpecifies the of number query term occurrences an item must include for the item to be returned as a result. The operand may be a single query term, a phrase, or a wildcard query term.

СинтаксисSyntax

property-spec:count(operand [,from=<numeric value>, to=<numeric value>])

ПараметрыParameters

ПараметрParameter ЗначениеValue ОписаниеDescription
FromFrom
<числовое_значение><numeric_value>
Если параметр from не указан, нижнего предела не будет.The value of the from parameter must be a positive integer that specifies the minimum number of times that the specified operand must be matched.
toIf the from parameter is not specified, no lower limit will exist.
toto
<числовое_значение><numeric_value>
The value of the to parameter must be a positive integer that specifies the non-inclusive maximum number of times that the specified operand must be matched. For example, a to value of 11 specifies 10 times or fewer. The value of the to parameter must be a positive integer that specifies the non-inclusive maximum number of times that the specified operand must be matched. For example, a to value of 11 specifies 10 times or fewer.
Если параметр to не задан, верхняя граница отсутствует.If the to parameter is not specified, no upper limit will exist.

ПримерыExamples

Пример 2. Следующее выражение соответствует элементам, содержащим по крайней мере 5, но менее 10 слов "cat".Example 1. The following expression matches at least 5 occurrences of the word "cat".

count(cat, from=5)

Пример 3. Каждое из следующих выражений соответствует элементам, содержащим по крайней мере 3 определенных слова, и этим словом может быть "cat" или "dog".Example 2. The following expression matches at least 5 but not 10 or more occurrences of the word "cat".

count(cat, from=5, to=10)

Следующая таблица содержит примеры соответствия и несоответствия строковых значений и состояний управляемого свойства для примера 3.Example 3. Each of the following expressions matches at least 3 occurrences of a certain word, and that word can be either "cat" or "dog".

count(or(cat, dog), from=3)count(string("cat dog", mode="or"), from=3)

В приведенной ниже таблице представлены примеры строковых значений управляемых свойств и указано, соответствуют ли они двум выражениям из примера 3.The following table contains examples of managed property string values and states whether they match the two expressions in Example 3.

ТекстMatch? ДаText
ДаYes
НетMy cat likes my dog, but my dog hates my cat.
НетNo
DATETIMEMy bird likes my newt, but my dog hates my cat.

DATETIMEDATETIME

Явное преобразование типа необязательно и обычно не требуется. Тип термина запроса определяется в соответствии с типом целевого числового управляемого свойства.Provides explicit typing of date/time numeric values. The operand is a date/time string formatted according to the syntax specified in Token expressions in FQL.

СинтаксисThe explicit type conversion is optional and usually is not needed. The type of the query term is detected according to the type of the target numeric managed property.

СинтаксисSyntax

datetime(<date/time string>)

ПараметрыParameters

Неприменимо.Not applicable.

DECIMALDECIMAL

Явное преобразование типа необязательно и обычно не требуется. Тип термина запроса определяется в соответствии с типом целевого числового управляемого свойства.Provides explicit typing of decimal values. The operand is a decimal value according to the syntax specified in Token expressions in FQL.

СинтаксисThe explicit type conversion is optional and usually is not needed. The type of the query term is detected according to the type of the target numeric managed property.

СинтаксисSyntax

decimal(<decimal point value>)

ПараметрыParameters

Неприменимо.Not applicable.

ENDS-WITHENDS-WITH

Для числовых управляемых свойств сопоставление границ не поддерживается. Для них поддерживается только точное соответствие и соответствие диапазона значений.Specifies that a word or phrase must appear in the end of a managed property (boundary matching).

Сопоставление границ не поддерживается для числовых управляемых свойств. С такими свойствами всегда выполняется сопоставление по точному значению или диапазону значений.Boundary matching is not supported on numeric managed properties. Numeric managed properties will always be subject to exact or value range matching.

СинтаксисSome applications may require that you are able to perform an exact match of a managed property. For example, this may be a product name managed property, where the full name of one product is a substring of another product name.

СинтаксисSyntax

ends-with(<term or phrase>)

ПараметрыParameters

Неприменимо.Not applicable.

ПримерыExamples

ПримечанияThe following expression matches items with the values "Mr Adam Jones" and "Adam Jones" in the "author" managed property. It will not match items with the value "Adam Jones sr".

author:ends-with("adam jones")

ЗаметкиRemarks

Чтобы применить запросы сопоставления границ, необходимо настроить соответствующее управляемое свойство в схеме индекса.Boundary matching can be applied to all the text of the managed property, or to individual strings within a managed property that contains a list of string values, for example, a list of names. In this case, you may want to match the exact content of each string, and to avoid query matching across string boundaries.

Включив для управляемого свойства функцию сопоставления границ, можно выполнять следующие действия:To apply boundary match queries, you must configure the relevant managed property in the index schema.

использовать запросы явного сопоставления границ;By enabling the Boundary Match feature for the managed property, you can do the following:

  • запретить поиск соответствия фраз за границами строки. Для управляемых свойств, содержащих несколько строк, эта функция блокирует поиск соответствия слов до или после указателя границы.Use explicit boundary match queries.

  • EQUALSPrevent phrases from matching across string boundaries. For managed properties that contain multiple strings, this feature will ensure that a string does not match words before or after a boundary indication.

EQUALSEQUALS

СинтаксисSpecifies that a word or phrase must provide an exact token match with the managed property.

СинтаксисSyntax

equals(<term or phrase>)

ПараметрыParameters

Неприменимо.Not applicable.

ПримерыExamples

ПримечанияThe following example will match items with the values "Adam Jones" in the "author" managed property. It will not match items with the values "Adam Jones sr" or "Mr Adam Jones".

author:equals("adam jones")

ЗаметкиRemarks

FILTERSee also ENDS-WITH.

FILTERFILTER

Используется для запросов метаданных или других структурированных данных.Used to query metadata or other structured data.

Использование оператора FILTER автоматически обеспечивает реализацию для запроса следующего:Using the FILTER operator automatically implies the following for the specified query:

  • лингвистика будет отключена (linguistics="OFF");Linguistics will be set to linguistics="OFF".

  • рейтинг будет отключен;Ranking will be disabled.

  • в сводке с выделенными совпадениями для результата запроса не будет использоваться выделение запросов.No query highlighting will be used in the hit highlighted summary for the query result hit.

Совет. Если оператор STRING используется в выражении FILTER, по умолчанию лингвистическая обработка отключается.Tip: If you use the STRING operator inside a FILTER expression, by default, linguistics is disabled. Вы можете включить лингвистическую обработку в каждом выражении STRING внутри оператора FILTER с помощью операнда linguistics="ON".You can enable linguistics processing within each STRING expression inside FILTER by using the operand linguistics="ON".

СинтаксисSyntax

filter(<any valid FQL operator expression>)

ПараметрыParameters

Неприменимо.Not applicable.

ПримерыExamples

ПримечанияThe following expression matches items that have a Title managed property that contains "sonata" and a Doctype managed property that contains only the token "audio". No linguistic matching will be performed on "audio". Because the FILTER token will be used to match "audio", that text will not be highlighted in the hit highlighted summary.

and(title:sonata, filter(doctype:equals("audio")))

ЗаметкиRemarks

Если необходимо ограничить запрос, чтобы он соответствовал по крайней мере одному из большого набора целых значений в числовом свойстве, вы можете сделать это двумя функционально эквивалентными способами:If you must restrict your query to match at least one of a large set of integer values in a numeric property, you can express this in two functionally equivalent ways:

  • and(string("hello world"), filter(property-spec:or(1, 20, 453, ... , 3473)))

  • and(string("hello world"), filter(property-spec:int("1 20 453 ... 3473", mode="or")))

Если вам необходимо отфильтровать большой набор значений, рекомендуем использовать числовые значения вместо строковых и выразить свои запросы с помощью оптимизированного синтаксиса.The second example uses the INT operator by using a string with the set of numeric values in double quotation marks. This provides a significantly better query performance when filtering with a large set of numeric values.

FLOATIf you must filter a large set of values, you should consider using numeric values instead of string values, and express your queries by using the optimized syntax.

FLOATFLOAT

Явное преобразование типа необязательно и обычно не требуется. Тип термина запроса определяется в соответствии с типом целевого числового управляемого свойства.Provides explicit typing of floating point numeric values. The operand is a floating point value according to the syntax specified in Token expressions in FQL.

СинтаксисThe explicit type conversion is optional and usually is not needed. The type of the query term is detected according to the type of the target numeric managed property.

СинтаксисSyntax

float(<floating point value>)

ПараметрыParameters

Неприменимо.Not applicable.

INTINT

Явное преобразование типа необязательно и обычно не требуется. Тип термина запроса определяется в соответствии с типом целевого числового управляемого свойства.Provides explicit typing of integer values. The operand is an integer value according to the syntax specified in Token expressions in FQL.

СинтаксисThe explicit type conversion is optional and usually is not needed. The type of the query term is detected according to the type of the target numeric managed property.

СинтаксисThe INT operator can also be used to express a set of integer values as arguments to Boolean FQL operators. This provides a performance efficient way to provide a set of integer values in a query, as the values that are passed by using the INT operator are not parsed by the FQL query parser but passed directly to the query matching component.

СинтаксисSyntax

int(<integer value>)

int("value, value, ??? , value")

ПараметрыThe first syntax specifies a single integer. The second syntax specifies a comma-separated list of integer values enclosed in double quotation marks.

ПараметрыParameters

Неприменимо.Not applicable.

ПримерыExamples

NEARIf you need to restrict your query to match at least one of a large set of integer values in a numeric property, you can express this by using the INT operator:

and(string("hello world"), filter(id:int("1 20 49 124 453 985 3473", mode="or")))

NEARNEAR

Порядок терминов запроса для сопоставления не играет роли, важно только расстояние.Restricts the result set to items that have N terms within a certain distance of one another.

При сопоставлении не учитывается порядок терминов запроса, только расстояние.The order of the query terms is not important for the matching, only the distance.

С операторами NEAR можно совмещать любое количество терминов.Any number of terms can be combined with the NEAR operators.

Операндами NEAR могут быть отдельные термины, фразы или логические выражения с операторами OR или ANY. Допускаются подстановочные знаки.NEAR operands may be single terms, phrases, or Boolean OR or ANY operator expressions. Wildcards are accepted.

Если несколько операндов в операторе NEAR совпадают с одним и тем же индексированным маркером, то они считаются смежными.If multiple operands of the NEAR operator match the same indexed token, they are considered near one another.

СинтаксисSyntax

near(arg, arg [, arg]* [, N=<numeric value>])

ПараметрыParameters

ПараметрParameter ЗначениеValue ОписаниеDescription
NN
<числовое_значение><numeric_value>
Задает максимальное количество слов, которые могут отображаться между терминами (явное расстояние).Specifies the maximum number of words that is allowed to appear between the terms (explicit proximity).
Если оператор NEAR включает более двух операндов, то максимальное количество слов между терминами (N) рассчитывается в пределах целого выражения.If NEAR includes more than two operands, the maximum number of words allowed between the terms ( N) is counted within the whole expression.
ПримерыDefault: 4

ПримерыExamples

Пример 2. Следующее выражение соответствует строкам, которые содержат слова "cat", "dog", "fox" и "wolf", если их разделяет не более четырех индексированных маркеров.Example 1. The following expression matches strings that contain both "cat" and "dog" if no more than four indexed tokens (default) separate them.

near(cat, dog)

В следующей таблице приведены примеры соответствия и несоответствия строковых значений и состояний управляемого свойства для примера 2.Example 2. The following expression matches strings that contain "cat", "dog", "fox", and "wolf" if no more than four indexed tokens separate them.

near(cat, dog, fox, wolf)

В приведенной ниже таблице представлены примеры строковых значений управляемых свойств и указано, соответствуют ли они предыдущему выражению из примера 2.The following table contains examples of managed property string values and states whether they match the previous expression in Example 2.

ТекстMatch? ДаText
ДаYes
Да (с выделением корней)The picture shows a cat, a dog, a fox, and a wolf.
Dogs, foxes, and wolves are canines, but cats are felines.Yes (with stemming)
НетDogs, foxes, and wolves are canines, but cats are felines.
НетNo
Следующее выражение соответствует всем строкам из предыдущей таблицы.The picture shows a cat with a dog, a fox, and a wolf.

ПримечанияThe following expression matches all the strings in the previous table.

near(cat, dog, fox, wolf, N=5)

ЗаметкиRemarks

Рекомендации касательно расстояния между терминами NEAR и ONEARNEAR/ONEAR term distance considerations

NEAR или ONEAR работают в тексте с разметкой. Это значит, что специальные символы, например запятая (" , "), десятичная точка (" . "), двоеточие (" : ") или точка с запятой (" ; "), будут рассматриваться как пробел. Термин "расстояние" относится к маркерам в индексированном тексте.N indicates the maximum number of words that are allowed to appear between the query terms within the matching segment of the item. If NEAR or ONEAR includes more than two operands, the maximum number of words allowed between the query terms ( N) is counted within the segment of the item matching all the NEAR or ONEAR terms.

NEAR or ONEAR operates on tokenized text. This means that special characters such as comma (" , "), period (" . "), colon (" : "), or semicolon (" ; ") will be treated as white space. The term "distance" relates to tokens within the indexed text.NEAR or ONEAR operates on tokenized text. This means that special characters such as comma (" , "), period (" . "), colon (" : "), or semicolon (" ; ") will be treated as white space. The term "distance" relates to tokens within the indexed text.

Если оператор ONEAR или NEAR используется с равными операндами, он будет работать следующим образом:If you use ONEAR or NEAR with equal operands, the operator will work as follows:

near(a, a, n=x)

This query will always return true if at least one instance of '' a'' appears within the context. This also means that NEAR cannot be used as a COUNT operator. For more information about counting term occurrences, see the COUNT operator.This query will always return true if at least one instance of '' a'' appears within the context. This also means that NEAR cannot be used as a COUNT operator. For more information about counting term occurrences, see the COUNT operator.

Оператор NEAR, применяемый к фразам, также сопоставляет перекрывающиеся фразы в тексте.NEAR applied to phrases will also match overlapping phrases in the text.

If a token in the matching segment matches more than one operand to the NEAR or ONEAR expression, the query may match even if the number of nonmatching tokens within the matching segment exceeds the value of ' N' in the NEAR or ONEAR operator expression. For example, an overlap can be overlapping phrases. If the number of token overlap matches is ' O', the query will match if not more than ' N+O' non-matching tokens appear within the matching segment of the item.If a token in the matching segment matches more than one operand to the NEAR or ONEAR expression, the query may match even if the number of nonmatching tokens within the matching segment exceeds the value of ' N' in the NEAR or ONEAR operator expression. For example, an overlap can be overlapping phrases. If the number of token overlap matches is ' O', the query will match if not more than ' N+O' non-matching tokens appear within the matching segment of the item.

NEAR или ONEAR с оператором NOTNEAR or ONEAR with NOT

Оператор NOT невозможно использовать в операторах NEAR и ONEAR. Ниже представлен неправильный синтаксис FQL.The NOT operator cannot be used inside the NEAR or ONEAR operator. The following is incorrect FQL syntax:

near(audi,not(bmw),n=2)

NOTNOT

СинтаксисReturns only items that don't match the operand. The operand may be any valid FQL expression.

СинтаксисSyntax

not(operand)

ПараметрыParameters

Неприменимо.Not applicable.

ONEARONEAR

СинтаксисThe ordered variant of NEAR, and requires an ordered match of the terms. The ONEAR operator can be used to restrict the result set to items that have N terms within a certain distance of one another.

СинтаксисSyntax

onear(arg, arg [, arg]* [, N=<numeric value>])

ПараметрыParameters

ПараметрParameter ЗначениеValue ОписаниеDescription
NN
<числовое_значение><numeric_value>
Задает максимальное количество слов между терминами (явное расстояние).Specifies the maximum number of words that are allowed to appear between the terms (explicit proximity).
Если выражение ONEAR содержит более двух операндов, то максимальное число слов между терминами (N) рассчитывается в пределах целого выражения.If ONEAR includes more than two operands, the maximum number of words allowed between the terms ( N) is counted within the whole expression.
ПримерыDefault: 4

ПримерыExamples

В следующей таблице приведены примеры соответствия и несоответствия строковых значений и состояний управляемого свойства для предыдущего выражения.Example 1. The following expression matches all the occurrences of the words "cat", "dog", "fox", and "wolf" that appears in order, if no more than four indexed tokens separate them.

onear(cat, dog, fox, wolf)

В приведенной ниже таблице представлены примеры строковых значений управляемых свойств и указано, соответствуют ли они предыдущему выражению.The following table contains examples of managed property string values, and states whether they match the previous expression.

ТекстMatch? ДаText
ДаYes
НетThe picture shows a cat, a dog, a fox, and a wolf.
НетNo
НетDogs, foxes, and wolves are canines, but cats are felines.
НетNo
На этом рисунке показаны кошка с собакой, лиса и волк.The picture shows a cat with a dog, a fox, and a wolf.

Пример 3. Следующее выражение соответствует тексту из первой и третей строк предыдущей таблицы.Example 2. The following expression matches (with stemming) the text in the second row of the previous table.

onear(dog, fox, wolf, cat, N=5)

ПримечанияExample 3. The following expression matches the text in the first and third rows of the preceding table.

onear(cat, dog, fox, wolf, N=5)

ЗаметкиRemarks

ORSee also NEAR.

OROR

СинтаксисReturns only items that match at least one of the OR operands. Items that match will get a higher dynamic rank (relevance score in the result set) if more of the OR operands match. The operands may be a single term or any valid FQL sub-expression.

СинтаксисSyntax

or(operand, operand [,operand]*)

ПараметрыParameters

Неприменимо.Not applicable.

ПримерыExamples

PHRASEThe following expression matches all the items for which the default full-text index contains either "cat" or "dog". If an item's default full-text index contains both "cat" and "dog", it will match and have a higher dynamic rank than it would if it contained only one of the tokens.

or(cat, dog)

PHRASEPHRASE

Ищет точную строку маркеров.Searches for an exact string of tokens.

СинтаксисThe PHRASE operands can be single terms. Wildcards are accepted.

СинтаксисSyntax

phrase(term [, term]*)

ПараметрыParameters

Неприменимо.Not applicable.

ЗаметкиRemarks

RANGESee also STRING.

RANGERANGE

СинтаксисUse the RANGE operator for numeric and date/time managed properties. The operator enables range matching expressions.

СинтаксисSyntax

range(start, stop [,from="GE"|"GT"] [,to="LE"|"LT"])

ПараметрыParameters

ПараметрParameter ЗначениеValue ОписаниеDescription
startstart
<числовое_значение>|<значение_даты_и_времени><numeric_value>|<date/time_value>
Начальное значение диапазона.Start value for the range.
stopTo specify that the range has no lower bound, use the reserved word min.
stopstop
<числовое_значение>|<значение_даты_и_времени><numeric_value>|<date/time_value>
Конечное значение диапазона.End value for the range.
fromTo specify that the range has no upper bound, use the reserved word max.
fromfrom
GE|GTGE|GT
Необязательный параметр, указывающий интервал с открытым или закрытым началом.Optional parameter that indicates the open or close start interval.
Допустимые значения:Valid values:
  • GT больше начального значения (> начало интервала).GE Greater than or equal to the start value (>= start of interval).
  • Значение по умолчанию: GE.GT Greater than the start value (> start of interval).
toDefault: GE
toto
LE|LTLE|LT
Необязательный параметр, указывающий интервал с открытым или закрытым концом.Optional parameter that indicates the open or close end interval.
Допустимые значения:Valid values:
  • LT меньше конечного значения (< конец интервала).LE Less than or equal to the end value (<= end of interval).
  • Значение по умолчанию: LT.LT Less than the end value (< end of interval).
ПримерыDefault: LT

ПримерыExamples

Приведенное ниже выражение соответствует свойству описания, начинающегося с фразы "big accomplishments", которая встречается в элементах с размером по крайней мере 10 000 байтов.The following expression matches a description property starting with the phrase "big accomplishments" appearing in items with a size of at least 10 000 bytes.

and(size:range(10000, max), description:starts-with("big accomplishments"))

STARTS-WITHSTARTS-WITH

СинтаксисSpecifies a word or phrase that must appear at the start of a managed property.

СинтаксисSyntax

starts-with(<term or phrase>)

ПараметрыParameters

Неприменимо.Not applicable.

ПримерыExamples

ПримечанияThe following expression will match items with the values "Adam Jones sr" and "Adam Jones" in the author managed property. It will not match items with the value "Mr Adam Jones".

author:starts-with("adam jones")

ЗаметкиRemarks

STRINGFor additional remarks on boundary matching, see ENDS-WITH.

STRINGSTRING

Операнд сопоставляемая текстовая строка (один или более терминов). Строка может сопровождаться любым количеством параметров.Defines a Boolean matching condition to a text string.

Операнд — сопоставляемая текстовая строка (один или более терминов). Строка может сопровождаться любым количеством параметров.The operand is a text string (one or more terms) that is to be matched. The string is followed by zero or more parameters.

СинтаксисThe STRING operator can also be used as a type conversion. The query string("24.5"), for example, will treat the numeric value "24.5" as a text string.

СинтаксисSyntax

string("<text string>"

[, mode=<mode>]

[, n=<near>]

[, weight=<n>]

[, linguistics=<on|off>]

[, wildcard=<on|off>])

ПараметрыParameters

ПараметрParameter ЗначениеValue ОписаниеDescription
modemode
<режим><mode>
Параметр mode указывает, как оценивать значение <строки текста>.The mode parameter specifies how to evaluate the <text string> value. Ниже представлен список допустимых значений.The following list shows valid values.
"PHRASE" - phrase(term [,term]*)"PHRASE" - phrase(term [,term]*)
ModeModeЭквивалентное выражение с операторомEquivalent operator expression
"PHRASE""PHRASE" phrase(term [,term]*)
"AND""AND" and(term, term [,term]*)
"OR""OR" or(term, term [,term]*)
"ANY""ANY" any(term, term [,term]*)
"NEAR""NEAR" near(term, term [,term]*, N)
"ONEAR""ONEAR" onear(term, term [,term]*, N)

Значение по умолчанию: "PHRASE"Default: "PHRASE"
nn
<числовое_значение><numeric_value>
Этот параметр задает максимальное расстояние между терминами для выражения mode= "NEAR" или mode= "ONEAR".This parameter indicates the maximum term distance for mode= "NEAR" or mode= "ONEAR".
Приведенные ниже выражения эквивалентны.The following expressions are equivalent:
string("hello world", mode="NEAR", n=5)
near(hello, world, n=5)
Значение по умолчанию: 4Default: 4
weightweight
<числовое_значение><numeric_value>
Этот параметр содержит положительное числовое значение, указывающее вес для динамического ранжирования.This parameter is a positive numeric value indicating term weight for dynamic ranking.
При ранжировании термин с более низким значением веса имеет меньшую ценность, термин с более высоким значением более высокую. Если вес термина равен нулю, то данный термин не влияет на динамическое рейтинг.A lower value indicates that a term should contribute less to the ranking. A higher value indicates that a term should contribute more to the ranking. A value of zero for the weight parameter specifies that a term should not affect dynamic rank.
Параметр weight применяется ко всем терминам в выражении STRING.The weight parameter applies to all the terms in the STRING expression.
СОВЕТ. Параметр weight влияет только на запросы полнотекстового индекса.TIP: The weight parameter will affect only full-text index queries. Значение по умолчанию: 100.Default: 100.
linguisticslinguistics
on|offon|off
Отключает или включает все лингвистические функции для строк (лемматизацию, синонимы, проверку правописания), если они включены для запроса.Disables/enables all linguistics features for the string (lemmatization, synonyms, spelling checking) if they are enabled for the query.
Вы можете использовать данный параметр, чтобы отключить лингвистическую обработку для данного термина или строки, но чтобы при этом термин или строка все равно приняли участие в рейтинге.You can use this parameter to switch off linguistic processing for a given term or string while you still want the term or string to contribute to ranking.
Значение по умолчанию: "ON"Default: "ON"
wildcardwildcard
on|offon|off
Этот параметр управляет расширением терминов в <текстовой строке> с помощью подстановочных знаков.This parameter controls wildcard expansion of terms inside the <text string>. Этот параметр переопределяет все настройки подстановочных знаков в параметрах запроса и позволяет включать или отключать расширенные подстановочные знаки в определенных частях запроса.This setting overrides any wildcard settings in query parameters, and allows extended wildcard characters to be enabled or disabled on specific parts of the query.
Допустимые значения:The following are valid values:
  • "ON". Указывает на то, что символ "*" оценивается как подстановочный знак."ON" Specifies that the character "*" is evaluated as wildcard. Символ "*" соответствует любому количеству символов (начиная с нуля).A "*" character matches zero or more characters.
  • "OFF". Указывает на то, что символы "*" не оцениваются как подстановочные знаки."OFF" Specifies that the characters "*" is not evaluated as wildcard.
Значение по умолчанию: "ON"Default: "ON"

Примечание

В SharePoint параметры minexpansion, maxexpansion и annotation_class для оператора STRING устарели.In SharePoint the minexpansion, maxexpansion and annotation_class parameters for the STRING operator are obsolete.

ПримерыExamples

Пример 1. Так как режимом строки по умолчанию является " PHRASE ", все представленные ниже выражения возвращают одинаковые результаты.Example 1. Because the default string mode is " PHRASE ", each of the following expressions returns the same results.

"what light through yonder window breaks"string("what light through yonder window breaks")string("what light through yonder window breaks", mode="phrase")phrase(what, light, through, yonder, window, breaks)

Пример 2. Следующее строковое выражение маркера и операторное выражение AND возвращают одинаковые результаты.Example 2. The following string token expression and the AND operator expression return the same results.

string("cat dog fox", mode="and")and(cat, dog, fox)

Пример 3. Следующее строковое выражение маркера и операторное выражение OR возвращают одинаковые результаты.Example 3. The following string token expression and OR operator expression return the same results.

string("coyote saguaro", mode="or")or(coyote, saguaro)

Пример 4. Следующее строковое выражение маркера и операторное выражение ANY возвращают одинаковые результаты.Example 4. The following string token expression and ANY operator expression return the same results.

string("coyote saguaro", mode="any")any(coyote, saguaro)

Пример 5. Следующее строковое выражение маркера и операторное выражение NEAR возвращают одинаковые результаты.Example 5. The following string token expression and NEAR operator expression return the same results.

string("coyote saguaro", mode="near")near(coyote, saguaro)

Пример 6. Следующее строковое выражение маркера и операторное выражение NEAR возвращают одинаковые результаты.Example 6. The following string token expression and NEAR operator expression return the same results.

string("cat dog fox wolf", mode="near", N=4)near(cat, dog, fox, wolf, N=4)

Пример 7. Следующее строковое выражение маркера и операторное выражение ONEAR возвращают одинаковые результаты.Example 7. The following string token expression and ONEAR operator expression return the same results.

string("cat dog fox wolf", mode="onear")onear(cat, dog, fox, wolf)

Пример 8. Следующее строковое выражение маркера соответствует слову "nobler" с отключенной функцией лингвистики, поэтому другие формы данного слова (например, "ennobling") не сопоставляются с использованием выделения корней.Example 8. The following string token expression matches the word "nobler" with linguistic features disabled, so other forms of the word (such as "ennobling") are not matched by using stemming.

string("nobler", linguistics="off")

Пример 9. Следующее выражение соответствует элементам, которые содержат слово "cat" или "dog ", однако динамический рейтинг для элементов с вхождениями слова "dog" увеличивается больше, чем для элементов с вхождениями слова "cat".Example 9. The following expression matches items that contain either "cat" or "dog ", but the expression increases the dynamic rank of items that contain "dog" more than items that contain "cat".

or(string("cat", weight="200"), string("dog", weight="500"))

ЗаметкиRemarks

Релевантный вес для динамического ранжированияRelevance weight for dynamic ranking

Параметр weight предназначен в основном для запросов OR. Кроме того, он может несколько повлиять на запросы AND. Алгоритм динамического рейтинга подразумевает, что различные термины по-разному вовлекаются в процесс ранжирования в зависимости от того, в каком месте термина появилось совпадение.The main effect of the weight parameter is for OR queries. It can also have some effect on AND queries. The dynamic rank algorithm can imply that different terms give different rank contribution depending on where in the item the term match occurs.

Различия в степени вовлечения в рейтинг основываются на частоте терминов и обратной частоте элементов. Например:The difference in rank contribution can also be based on term frequency and inverse item frequency. The following is an example:

  • Запрос: and(string("a"), string("b", weight=200)).Query: and(string("a"), string("b", weight=200))

  • Схема индекса: вес управляемого свойства title выше, чем вес управляемого свойства body.Index schema: The title managed property has more weight than the body managed property.

  • Элемент индекса 1 содержит термин "a" в свойстве "title" и термин "b" в свойстве "body".Index item 1 includes term 'a' in the title and term 'b' in the body.

  • Элемент индекса 2 содержит термин "a" в свойстве "body" и термин "b" в свойстве "title".Index item 2 includes term 'a' in the body and term 'b' in the title.

В данном примере элемент 2 получит более высокое значение общего рейтинга, так как элементы с более высоким вовлечением в динамический рейтинг получают еще большее повышение ранга.In this example, item 2 will get the highest total rank, as the items with higher dynamic rank contribution will get even more boost.

Совет. Бонус для относительных терминов (положительный или отрицательный) применяется к динамическому компоненту ранжирования для общего ранга.Tip: The relative term boost (positive or negative) is applied to the dynamic rank component of the total rank. Однако вес терминов не влияет на бонус за расстояние между словами.However, proximity boost (distance between words) rank calculations are not affected by the term weighting. Относительный вес не всегда подразумевает, что общий ранг элемента меняется в соответствии с указанным процентом.The relative weighting does not always imply that the total rank for the item is modified according to the percentage given. Приведенный ниже запрос ищет термины "peter", "paul" и "mary". При этом термин "peter" оказывает на ранг вдвое большее влияние, чем два других термина.> The following query will search for the terms "peter", "paul", or "mary", where "peter" will have twice as much rank contribution as the two other terms. > or(peter, string("paul mary", mode="OR", weight=50))

Обработка строк со специальными знакамиHandling strings with special characters

Специальные символы, такие как запятая (","), точка с запятой (";"), двоеточие (":"), десятичная точка ("."), минус ("-"), подчеркивание ("") или косая черта ("/"), считаются пустым местом внутри строкового выражения, заключенного в двойные кавычки. Это относится к процессу выделения маркеров. Они также подразумевают неявное фразирование маркеров, разделенных этими символами.Special characters such as comma (","), semicolon (";"), colon (":"), period ("."), minus ("-"), underline (""), or forward slash ("/") are treated as white space inside a string expression enclosed in double quotation marks. This is related to the tokenization process. These characters also imply an implicit phrasing of the tokens separated by these characters.

Следующие выражения запросов эквивалентны:The following query expressions are equivalent.

title:string("animals birds", mode="phrase")title:"animals/birds"title:string("animals/birds", mode="and")title:string("animals/birds", mode="or")

Следующие выражения запросов эквивалентны:The following query expressions are equivalent.

title:or(string("animals birds", mode="phrase"), string("animals insects", mode="phrase"))title:string("animals/birds animals/insects", mode="or")

Следующие выражения запросов эквивалентны:The following query expressions are equivalent.

body:string("help contoso com", mode="phrase")body:string("help@contoso.com")

Соответствие фразе, разделенной на маркерыTokenized phrase matching

Вы можете искать точную строку маркеров, используя оператор STRING с параметром mode="phrase" или оператор PHRASE.You can search for an exact string of tokens by using the STRING operator with mode="phrase" or the PHRASE operator.

Все подобные операции с фразами подразумевают сопоставление фраз в виде маркеров.All such phrase operations imply a tokenized phrase match. Это означает, что специальные знаки, такие как запятая (","), точка с запятой (";"), двоеточие (":"), подчеркивание ("_"), знак "минус" ("-") и косая черта ("/"), рассматриваются как пробелы.This means that special characters such as comma (" , "), semicolon (" ; "), colon (" : "), underscore (" _ "), minus (" - "), or forward slash (" / ") are treated as white space. Это связано с процессом преобразования в маркеры.This is related to the tokenization process.

XRANKXRANK

Повышение динамического ранга элементов основано на вхождениях определенных терминов в пределах match expression без изменения элементов, соответствующих запросу. Выражение XRANK состоит из одного компонента, который должен удовлетворять выражению ( match expression) и одного или нескольких компонентов, которые участвуют только в динамическом рейтинге ( rank expression). Чтобы выражение XRANK было допустимым, для него должен быть указан хотя бы один из параметров, за исключением n.Boosts the dynamic rank of items based on certain term occurrences within the match expression, without changing which items match the query. An XRANK expression consists of one component that must be matched, the match expression, and one or more components that contribute only to dynamic ranking, the rank expression. At least one of the parameters, excluding n, must be specified for an XRANK expression to be valid.

Match expressions может быть любым допустимым FQL-выражением, включая вложенные выражения XRANK. Rank expressions может быть любым допустимым FQL-выражением без выражения XRANK. Если ваши FQL-запросы имеют несколько операторов XRANK, итоговое выражение динамического рейтинга рассчитывается как сумма повышений по всем операторам XRANK.Match expressions may be any valid FQL expression, including nested XRANK expressions. Rank expressions may be any valid FQL expression without XRANK expressions. If your FQL queries have multiple XRANK operators, the final dynamic rank value is calculated as a sum of boosts across all XRANK operators.

Примечание

В SharePoint Server 2010 у оператора XRANK есть два параметра: boost и boostall. Для него используется следующий синтаксис: xrank(operand, rank-operand [, rank-operand]* [,boost=n] [,boostall=yes]).In SharePoint Server 2010, the XRANK operator had two parameters: boost and boostall, as well as the following syntax: xrank(operand, rank-operand [, rank-operand]* [,boost=n] [,boostall=yes]). Этот синтаксис и соответствующие параметры являются нерекомендуемыми в SharePoint.This syntax along with its parameters is deprecated in SharePoint. Рекомендуем использовать новый синтаксис и его параметры.We recommend the use of the new syntax and parameters instead.

СинтаксисSyntax

xrank(<match expression> [, <rank-expression>]*, rank-parameter[, rank-parameter]*)

ФормулаFormula

Формула для оператора XRANK

ПараметрыParameters

ПараметрParameter ЗначениеValue ОписаниеDescription
NN
<целое_число><integer_value>
Задает количество результатов, для которых вычисляются статистические данные.Specifies the number of results to compute statistics from.
Этот параметр не влияет на количество результатов, на которые влияет динамический рейтинг. С его помощью из вычисления статистики просто исключаются ненужные элементы.This parameter does not affect the number of results that the dynamic rank contributes to; it is just a means to exclude irrelevant items from the statistics calculations.
Значение по умолчанию: *0*. Нулевое значение означает *все документы* . Default: 0. A zero value carries the sematic of all documents .
NbNb
<значение_с_плавающей_запятой><float_value>
Параметр nb относится к нормированному увеличению. Этот параметр определяет коэффициент, на который умножается произведение дисперсии и среднего арифметического значений рейтингов в наборе результатов.The nb parameter refers to normalized boost. This parameter specifies the factor that is multiplied with the product of the variance and average score of the rank values of the results set.
Параметр f в формуле XRANK.f in the XRANK formula.

Как правило нормированное увеличение ( nb) это единственный изменяемый параметр. Этого параметра достаточно, чтобы понижать или повышать рейтинг отдельного элемента, не учитывая стандартное отклонение.Typically normalized boost, nb, is the only parameter that is modified. This parameter provides the necessary control to promote or demote a particular item, without taking standard deviation into account.

Расширенные параметрыAdvanced parameters

Доступны также дополнительные параметры, указанные ниже. Но обычно они не используются.The following advanced parameters are also available. However, typically they aren't used.

ПараметрParameter ЗначениеValue ОписаниеDescription
cbcb
<значение_с_плавающей_запятой><float_value>
Параметр cb указывает постоянный бонус.The cb parameter refers to constant boost.
Значение по умолчанию: 0.Default: 0.
Параметр a в формуле XRANK.a in the XRANK formula.
stdbstdb
<значение_с_плавающей_запятой><float_value>
Параметр stdb указывает бонус со стандартным отклонением.The stdb parameter refers to standard deviation boost.
Значение по умолчанию: 0.Default: 0.
Параметр e в формуле XRANK.e in the XRANK formula.
avgbavgb
<значение_с_плавающей_запятой><float_value>
Параметр avgb указывает средний бонус. Этот показатель умножается на среднее значение ранга в результирующем наборе. The avgb parameter refers to average boost. This factor is multiplied with the average rank value of the results set.
Значение по умолчанию: 0.Default: 0.
Параметр d в формуле XRANK.d in the XRANK formula.
rbrb
<значение_с_плавающей_запятой><float_value>
Параметр rb указывает бонус в диапазоне. Этот показатель умножается на диапазон значений ранга в результирующем наборе.The rb parameter refers to range boost. This factor is multiplied with the range of rank values in the results set.
Значение по умолчанию: 0.Default: 0.
Параметр b в формуле XRANK.b in the XRANK formula.
pbpb
<значение_с_плавающей_запятой><float_value>
Параметр pb задает увеличение в процентах. Этот коэффициент умножается на собственный рейтинг элемента в сравнении с минимальным значением в наборе.The pb parameter refers to percentage boost. This factor is multiplied with the item's own rank compared to the minimum value in the corpus.
Значение по умолчанию: 0.Default: 0.
Параметр c в формуле XRANK.c in the XRANK formula.

ПримерыExamples

Пример 1. Следующее выражение сопоставляет элементы, для которых полнотекстовый индекс по умолчанию содержит "cat" или "dog". Выражение увеличивает на постоянную величину 100 динамический рейтинг элементов, содержащих также термин "thoroughbred".Example 1. The following expression matches items for which the default full-text index contains either "cat" or "dog". The expression increases dynamic rank of those items with a constant boost of 100 for items that also contain "thoroughbred".

xrank(or(cat, dog), thoroughbred, cb=100)

Пример 2. Следующее выражение сопоставляет элементы, для которых полнотекстовый индекс по умолчанию содержит термины "cat" или "dog". Выражение увеличивает динамический рейтинг элементов на нормированную величину 1,5 для элементов, содержащих также термин "thoroughbred".Example 2. The following expression matches items for which the default full-text index contains either "cat" or "dog". The expression increases dynamic rank of those items with a normalized boost of 1.5 for items that also contain "thoroughbred".

xrank(or(cat, dog), thoroughbred, nb=1.5)

Пример 3. Следующее выражение сопоставляет элементы, для которых полнотекстовый индекс по умолчанию содержит термины "cat" или "dog". Выражение увеличивает динамический рейтинг элементов на постоянную величину 100 и нормированную величину 1,5 для элементов, содержащих также термин "thoroughbred".Example 3. The following expression matches items for which the default full-text index contains either "cat" or "dog". The expression increases dynamic rank of those items with a constant boost of 100 and a normalized boost of 1.5, for items that also contain "thoroughbred".

xrank(or(cat, dog), thoroughbred, cb=100, nb=1.5)

Пример 4. Следующее выражение сопоставляет все элементы, содержащие термин "animals", и увеличивает динамический рейтинг следующим образом:Example 4. The following expression matches all items containing the term "animals", and boosts dynamic rank as follows:

  • динамический рейтинг элементов, содержащих термин "dogs", увеличивается на 100 баллов;Dynamic rank of items that contain the term "dogs" is boosted by 100 points.

  • динамический рейтинг элементов, содержащих термин "cats", увеличивается на 200 баллов;Dynamic rank of items that contain the term "cats" is boosted by 200 points.

  • динамический рейтинг элементов, содержащих и термин "dogs", и термин "cats", увеличивается на 300 баллов.Dynamic rank of items that contain both the terms "dogs" and "cats" is boosted by 300 points.

xrank(xrank(animals, dogs, cb=100), cats, cb=200)

См. такжеSee also