FAST クエリ言語 (FQL) 構文のリファレンスFAST Query Language (FQL) syntax reference

FAST クエリ言語 (FQL) を使用した SharePoint の検索 の複雑な検索クエリの構築について説明します。このリファレンスでは、FQL クエリの要素について、および FQL クエリでプロパティーの指定、トークン式、および演算子を使用する方法について説明します。Learn about constructing complex search queries for Search in SharePoint using the FAST Query Language (FQL). This reference describes the elements of an FQL query and how to use property specifications, token expressions, and operators in your FQL queries.

SharePoint の FQL およびクエリ言語のサブ式と式の概要Introduction 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
クエリで検索する、1 つ以上のクエリ用語、語句、または数値。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
ブール演算子 ( ANDOR など) またはオペランドに対する他の制約 ( FILTER など) を指定するキーワード。Keywords that specify Boolean operations (such as AND, OR) or other constraints to operands (such as FILTER.)

FQL クエリの例FQL query example

以下の FQL クエリ例は、インデックス化されたアイテムの body 管理プロパティで、用語 "hello" と "world" を検索します。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 管理プロパティに限定します。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".

FAST クエリ言語のクエリの長さは 2,048 文字に制限されています。The length of FAST Query Language queries is limited to 2,048 characters.

FQL でのプロパティの指定Property 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:

  • 以下のような、1 つの用語または語句。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

以下の各式は、 title 管理プロパティの "much" と "nothing" の両方を持つアイテムを照合します。Each 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")

FQL でのトークン式Token expressions in FQL

トークン式は、インデックスに対して照合される単語、語句、または数値です。Token expressions are words, phrases, or numeric values that are matched against the index.

テキスト トークン式は、二重引用符で囲まれた 1 つの単語または語句です。A text token expression can be a single word or a phrase enclosed in double quotation marks.

数値トークン式は、1 つの値または値の範囲の式です。A numeric token expression can be a single value or a value range expression.

ワイルドカード式Wildcard expressions

ワイルドカード式とは、アスタリスク ("\") 文字を含む 1 つの用語または語句のことです。アスタリスクは、0 個以上の文字の一致を意味し、空白は含みません。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

次に、FQL で有効なワイルドカード式の使用方法を示します。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.

表 2. FQL で使用できる数値データ型Table 2. Numeric data types that can be used in FQL

FQL の型FQL type 互換性のあるインデックス スキーマの型Compatible index schema types 説明Description
IntInt
IntegerInteger
64 ビット整数。64 bit integer.
FloatFloat
DoubleDouble
64 ビット (倍精度) 浮動小数点。64-bit (double precision) floating point.
DecimalDecimal
DecimalDecimal
128 ビット 10 進数128-bit decimal
DatetimeDatetime
DatetimeDatetime
日付と時刻の値。A date and time value.
FQL で日付と時刻がサポートされるので、他の数値と同じ数値演算を日付と時刻の値に対して実行できます。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

FQL には、日付と時刻用に datetime データ型が用意されています。FQL provides the datetime data type for date and time.

次の ISO 8601 互換の datetime 形式がクエリでサポートされます。The following ISO 8601-compatible datetime formats are supported in queries:

  • YYYY-MM-DDYYYY-MM-DD

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

  • YYYY-MM-DDThh:mm:ssZYYYY-MM-DDThh:mm:ssZ

  • YYYY-MM-DDThh:mm:ssfrZYYYY-MM-DDThh:mm:ssfrZ

これらの datetime 形式では、In these datetime formats:

  • YYYY には、4 桁の年を指定します。YYYY specifies a four-digit year.

    注意

    サポートされるのは、4 桁の年だけです。Only four-digit years are supported.

  • MM には、2 桁の月を指定します。たとえば、01 は 1 月を意味します。MM specifies a two-digit month. For example, 01 = January.

  • DD には、2 桁の日 (01 ~ 31) を指定します。DD specifies a two-digit day of the month (01 through 31).

  • T には、文字 "T" を指定します。T specifies the letter "T".

  • hh には、2 桁の時間 (00 ~ 23) を指定します。A.M. と P.M. は使用できません。hh specifies a two-digits hour (00 through 23); A.M./P.M. indication is not allowed.

  • mm には、2 桁の分 (00 ~ 59) を指定します。mm specifies a two-digit minute (00 through 59).

  • ss には、2 桁の秒 (00 ~ 59) を指定します。ss specifies a two-digit second (00 through 59).

  • fr には、秒 ss の省略可能な小数部を指定します。秒の後の . に続けて 1 ~ 7 桁で指定します。たとえば、2012-09-27T11:57:34.1234567 のように指定します。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.

予約語、特殊文字、エスケープReserved words, special characters, and escaping

次の単語は、FQL で予約されています。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 では、文字列を必ず二重引用符で囲む必要があるわけではありません。たとえば、 and(cat, dog) は、 catdog は二重引用符で囲まれていませんが、有効な 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.

クエリの用語は、ユーザーのロケール設定に従ってトークン化されます。トークン化処理では、特定の特殊文字が削除されます。特殊文字が削除されるので、次の 2 つの 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")

クエリに、ユーザー入力または別のアプリケーションからの用語を追加する場合は、 string("<query terms>", mode="AND|OR|PHRASE") 演算子を使用して、クエリ言語の予約語と競合しないようにする必要があります。また、ユーザー指定のクエリから可能な二重引用符を削除する必要があります。When 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.

FQL の演算子FQL Operators

FAST クエリ言語 (FQL) 演算子は、ブール演算やその他の制約をオペランドに指定するキーワードです。FQL 演算子の構文は次のとおりです。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:

  • property-spec は、オプションのプロパティ指定であり、その後に "in" 演算子が続きます。property-spec is an optional property specification followed by the "in" operator.

  • operator は、実行する演算を指定するキーワードです。operator is a keyword that specifies an operation to perform.

  • operand は、項表現または別の演算子です。operand is a term expression or another operator.

  • parameter は、演算子の動作を変更する値の名前です。parameter is the name of a value that changes the behavior of the operator.

  • value は、パラメーター名で使用する値です。value is the value to use for the parameter name.

演算子名、パラメーター名、パラメーター テキストの各値は大文字と小文字を区別しません。演算子の本文内に空白を含めることはできますが、二重引用符で囲まれていない場合、空白は無視されます。FAST クエリ言語のクエリの長さは 2,048 文字に制限されています。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.

表 3. 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.
STRINGSTRING
ブール値Boolean
クエリ内で用語とサブ式を組み合わせることができます。Enables you to combine terms and sub-expressions in a query.
ANDまたはANYANDNOTNOTCOUNTCOUNTAND, OR, ANY, ANDNOT, NOT, COUNT, COUNT
近接性Proximity
対応する一連のテキストでクエリ用語の近接を指定できます。Enables you to specify the proximity of the query terms in a matching sequence of text.
NEARONEARPHRASESTARTS-WITHENDS-WITHEQUALSNEAR, ONEAR, PHRASE, STARTS-WITH, ENDS-WITH, EQUALS
数値型 (Numeric)Numeric
クエリで数値的条件を指定できます。Enables you to specify numeric conditions in the query.
RANGEINTFLOATDATETIMEDECIMALRANGE , 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.

表 4. FQL でサポートされている演算子Table 4. FQL supported operators

演算子Operator 説明Description Type
ANDAND
すべての AND オペランドに一致するアイテムのみを返します。Returns only items that match all AND operands.
ブール値Boolean
ANDNOTANDNOT
1 番目のオペランドに一致し、それ以降のオペランドに一致しないアイテムのみを返します。Returns only items that match the first operand and that don't match the subsequent operands.
ブール値Boolean
ANYANY
OR 演算子と似ていますが、動的ランク (結果セット.md 内の関連性スコア) は、一致するオペランド数やアイテム内の用語間の距離に影響されません。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
COUNTCOUNT
結果として返すアイテムに含まれている必要のあるクエリ用語の出現回数を指定できます。オペランドに指定できるのは、1 つのクエリ用語、語句、またはワイルドカード クエリ用語です。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
DATETIMEDATETIME
数値の明示的な入力を提供します。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)Numeric
DECIMALDECIMAL
数値の明示的な入力を提供します。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)Numeric
ENDS-WITHENDS-WITH
単語または語句が管理プロパティの末尾に出現する必要があることを指定します。Specifies that a word or phrase must appear in the end of a managed property.
近接性Proximity
EQUALSEQUALS
単語、用語、または語句が、管理プロパティと完全にトークン一致する必要があることを指定します。Specifies that a word or phrase term or phrase must provide an exact token match with the managed property.
近接性Proximity
FILTERFILTER
メタデータまたはその他の構造化データのクエリを実行するために使用します。Used to query metadata or other structured data.
関連性Relevance
FLOATFLOAT
数値の明示的な入力を提供します。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)Numeric
INTINT
数値の明示的な入力を提供します。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)Numeric
NEARNEAR
特定の互いの距離内で N 個の用語を持つアイテムに結果セットを制限します。Restricts the result set to items that have N terms within a certain distance of one another.
近接性Proximity
NOTNOT
オペランドを含まないアイテムのみを返します。Returns only items that exclude the operand.
ブール値Boolean
ONEARONEAR
NEAR の順序指定付きのバリエーション。用語の順序が一致する必要があります。 ONEAR 演算子を使用して、特定の互いの距離内で N 個の用語を持つアイテムに結果セットを制限できます。オペランドに一致しないアイテムのみ返します。オペランドは任意の有効な FQL 式にすることができます。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
1 つ以上の OR オペランドに一致するアイテムのみを返します。Returns only items that match at least one of the OR operands. OR オペランドに一致する数が多くなると、一致するアイテムの動的ランク (結果セット.md 内の関連性スコア) が高くなります。Items that match will get a higher dynamic rank (relevance score in the result set.md) if more of the OR operands match.
ブール値Boolean
PHRASEPHRASE
トークンの完全な文字列に一致するアイテムのみを返します。Returns only items that match an exact string of tokens.
近接性Proximity
RANGERANGE
範囲一致式を有効にします。 RANGE 演算子は、数値管理プロパティおよび日時管理プロパティで使用します。Enables range matching expressions. The RANGE operator is used for numeric and date/time managed properties.
数値型 (Numeric)Numeric
STARTS-WITHSTARTS-WITH
単語または語句が管理プロパティの先頭に出現する必要があることを指定します。Specifies that a word or phrase must appear in the start of a managed property.
近接性Proximity
STRINGSTRING
テキスト文字列に対するブール型の一致条件を定義します。Define a Boolean matching condition to a text string.
StringString
XRANKXRANK
特定の用語出現回数に基づいてアイテムの動的ランクを上げることができます。どのアイテムがクエリに一致するかに変更はありません。 XRANK 式には、一致する必要のある 1 つのコンポーネント、および動的ランク付けのみに貢献する 1 つ以上のコンポーネントが含まれます。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

すべての AND オペランドに一致するアイテムのみを返します。オペランドに指定できるのは、1 つの用語か任意の有効な FQL サブ式です。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

次の式は、既定のフルテキスト インデックスに "cat"、"dog"、および "fox" が含まれるアイテムに一致します。The following expression matches items for which the default full-text index contains "cat", "dog", and "fox".

and(cat, dog, fox)

ANDNOTANDNOT

1 番目のオペランドに一致し、それ以降のオペランドに一致しないアイテムのみを返します。オペランドに指定できるのは、1 つの用語か任意の有効な FQL サブ式です。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

例 1. 次の式は、既定のフルテキスト インデックスに "cat" が含まれて "dog" が含まれないアイテムに一致します。Example 1. The following expression matches items for which the default full-text index contains "cat" but not "dog".

andnot(cat, dog)

例 2. 次の式は、既定のフルテキスト インデックスに "dog" が含まれて "beagle" と "chihuahua" が含まれないアイテムに一致します。Example 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.

または 演算子と似ていますが、動的ランク (結果セット内の関連性スコア) は、一致するオペランド数やアイテム内の用語間の距離に影響されません。オペランドに指定できるのは、1 つの用語か任意の有効な FQL サブ式です。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" が含まれるアイテムに一致します。The following expression matches items for which the default full-text index contains "cat" or "dog".

インデックスに "cat" と "dog" の両方が含まれ、"cat" のほうがより良い一致とみなされる場合、アイテムの動的ランクは "cat" に基づきます。"dog" は考慮されません。If 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

結果として返すアイテムに含まれている必要のあるクエリ用語の出現回数を指定します。オペランドに指定できるのは、1 つのクエリ用語、語句、またはワイルドカード クエリ用語です。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><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.
from パラメーターを指定しない場合、下限がなくなります。If the from parameter is not specified, no lower limit will exist.
toto
<numeric_value><numeric_value>
to パラメーターの値には、指定したオペランドに一致する必要のある包含的でない最大回数を示す正の整数を指定する必要があります。たとえば、 to 値の 11 は、10 回以下を示します。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

例 1. 次の式は、単語 "cat" が 5 回以上出現する場合に一致します。Example 1. The following expression matches at least 5 occurrences of the word "cat".

count(cat, from=5)

例 2. 次の式は、単語 "cat" が 5 回以上かつ 10 回未満出現する場合に一致します。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. 次の各式は、特定の単語が 3 回以上出現する場合に一致し、その単語は "cat" または "dog" のいずれかです。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. の 2 つの式に一致するかどうかを示します。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.My cat likes my dog, but my dog hates my cat.
いいえNo
My bird likes my newt, but my dog hates my cat.My bird likes my newt, but my dog hates my cat.

DATETIMEDATETIME

日時の数値の明示的な入力を提供します。オペランドは、 FQL でのトークン式に指定された構文に従って書式設定された日時文字列です。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

10 進値の明示的な入力を提供します。オペランドは、 FQL でのトークン式に指定された構文に従う 10 進値です。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.

用途によっては、ユーザーが管理プロパティの完全一致を実行できることが必要になる場合があります。たとえば、これには product name 管理プロパティが考えられます。1 つの製品の完全名が別の製品名のサブ文字列になっている場合があります。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

次の式は、"author" 管理プロパティに値 "Mr Adam Jones" および "Adam Jones" が含まれるアイテムに一致します。値 "Adam Jones sr" が含まれるアイテムには一致しません。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.

  • 文字列境界を超えて語句が一致しないようにする。複数の文字列を含む管理プロパティでこの機能を使用すると、文字列は、境界指示の前または後ろで単語に一致しません。Prevent 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

次の例は、"author" 管理プロパティに値 "Adam Jones" が含まれるアイテムに一致します。値 "Adam Jones sr" または "Mr Adam Jones" が含まれるアイテムには一致しません。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

ENDS-WITH」も参照してください。See 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.

ヒント: FILTER 式の中で STRING 演算子を使用する場合、既定では言語は無効です。Tip: If you use the STRING operator inside a FILTER expression, by default, linguistics is disabled. オペランド linguistics="ON" を使用して FILTER 内の各 STRING 式内で言語処理を有効にすることができます。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

次の式は、"sonata" が含まれる Title 管理プロパティおよびトークン "audio" のみが含まれる Doctype 管理プロパティを持つアイテムに一致します。"audio" で言語的一致は実行されません。 FILTER トークンが "audio" の一致に使用されるため、そのテキストは、検索語句を強調表示する要約で強調表示されません。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

数値プロパティで、1 つ以上の大きな整数値セットを照合するようにクエリを制限する必要がある場合、機能的に等しい次の 2 つの方法でこの式を表現できます。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")))

2 番目の例は、一連の数値を二重引用符で囲んだ文字列を使用して、 INT 演算子を使用しています。大きな数値セットを使用してフィルター処理を行う場合は、これによりクエリのパフォーマンスが大幅に向上します。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.

大きな値セットをフィルター処理する必要がある場合、文字列値の代わりに数値の使用を考慮し、最適化された構文を使用してクエリを表現する必要があります。If 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

浮動小数点数値の明示的な入力を提供します。オペランドは、 FQL でのトークン式に指定された構文に従う浮動小数点値です。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

整数値の明示的な入力を提供します。オペランドは、 FQL でのトークン式に指定された構文に従う整数値です。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.

INT 演算子を使用して、一連の整数値をブール型の FQL 演算子への引数として表現することもできます。これにより、パフォーマンス効率の高い方法で、一連の整数値をクエリに提供することができます。 INT 演算子を使用して渡される値は、FQL クエリ パーサーで解析されず、クエリ一致コンポーネントに直接渡されるためです。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")

1 番目の構文では、1 つの整数が指定されています。2 番目の構文では、二重引用符で囲まれた整数値のコンマ区切りのリストが指定されています。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

数値プロパティで、1 つ以上の大きな整数値セットを照合するようにクエリを制限する必要がある場合、 INT 演算子を使用してこれを表現できます。If 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

特定の互いの距離内で N 個の用語を持つアイテムに結果セットを制限します。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 オペランドに指定できるのは、1 つの用語、語句、またはブール型の 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><numeric_value>
用語間に出現可能な単語の最大数を指定します (明示的な近接)。Specifies the maximum number of words that is allowed to appear between the terms (explicit proximity).
NEAR に 3 つ以上のオペランドが含まれる場合、用語間で出現可能な単語の最大数 ( N) は式全体内でカウントされます。If NEAR includes more than two operands, the maximum number of words allowed between the terms ( N) is counted within the whole expression.
既定値: 4Default: 4

Examples

例 1. 次の式は、"cat" と "dog" の両方を含む文字列のうち、4 つ以下のインデックス付きトークン (既定) でそれらが区切られている文字列に一致します。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. 次の式は、"cat"、"dog"、"fox"、および "wolf" を含む文字列のうち、4 つ以下のインデックス付きトークンでそれらが区切られている文字列に一致します。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.The picture shows a cat, a dog, a fox, and a wolf.
はい (ステミングを使用)Yes (with stemming)
Dogs, foxes, and wolves are canines, but cats are felines.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 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/ONEAR の用語距離に関する考慮事項NEAR/ONEAR term distance considerations

N は、アイテムの一致セグメント内のクエリ用語間で出現可能な単語の最大数を示します。 NEAR または ONEAR に 3 つ以上のオペランドがある場合、クエリ用語間で出現可能な単語の最大数 ( N) は、 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 または ONEAR はトークン化されたテキストで動作します。つまり、コンマ (" , ")、ピリオド (" . ")、コロン (" : ")、セミコロン (" ; ") など、特殊文字は空白として処理されます。用語 "距離" は、インデックス付きのテキスト内のトークンに関係します。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)

1 つ以上の '' a'' のインスタンスがコンテキスト内に出現する場合、このクエリは常に true を返します。また、これは、 NEARCOUNT 演算子として使用できないことも意味します。用語の出現回数のカウント方法については、 COUNT 演算子を参照してください。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.

一致セグメント内のトークンが NEAR または ONEAR 式の複数のオペランドに一致する場合は、一致セグメント内の不一致トークンの数が NEAR または ONEAR 演算子式の ' N' の値を超える場合でも、クエリは一致する場合があります。たとえば、重複は重複する語句になりえます。トークンの重複一致の数が ' O' の場合、' N+O' を超える不一致トークンがアイテムの一致セグメント内に出現しない場合、クエリは一致します。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

オペランドに一致しないアイテムのみを返します。オペランドに指定できるのは、任意の有効な FQL 式です。Returns only items that don't match the operand. The operand may be any valid FQL expression.

構文Syntax

not(operand)

パラメーターParameters

なし。Not applicable.

ONEARONEAR

NEAR の順序指定付きのバリエーション。用語の順序が一致する必要があります。 ONEAR 演算子を使用して、特定の互いの距離内で N 個の用語を持つアイテムに結果セットを制限できます。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><numeric_value>
用語間に出現可能な単語の最大数を指定します (明示的な近接)。Specifies the maximum number of words that are allowed to appear between the terms (explicit proximity).
ONEAR に 3 つ以上のオペランドが含まれる場合、用語間で出現可能な単語の最大数 ( N) は式全体内でカウントされます。If ONEAR includes more than two operands, the maximum number of words allowed between the terms ( N) is counted within the whole expression.
既定値: 4Default: 4

Examples

例 1. 次の式は、単語 "cat"、"dog"、"fox"、および "wolf" のすべてが順序どおりに出現するもののうち、4 つ以下のインデックス付きトークンでそれらの単語が区切られている場合に一致します。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.The picture shows a cat, a dog, a fox, and a wolf.
いいえNo
Dogs, foxes, and wolves are canines, but cats are felines.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 picture shows a cat with a dog, a fox, and a wolf.

例 2. 次の式は、前述の表の 2 番目の行のテキストに一致 (ステミングを使用) します。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)

例 3. 次の式は、前述の表の 1 番目と 3 番目の行のテキストに一致します。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

NEAR」も参照してください。See also NEAR.

OROR

1 つ以上の OR オペランドに一致するアイテムのみを返します。 OR オペランドに一致する数が多くなると、一致するアイテムの動的ランク (結果セット内の関連性スコア) が高くなります。オペランドに指定できるのは、1 つの用語か任意の有効な FQL サブ式です。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

次の式は、既定のフルテキスト インデックスに "cat" または "dog" が含まれるすべてのアイテムに一致します。アイテムの既定のフルテキスト インデックスに "cat" と "dog" の両方が含まれる場合、そのアイテムは一致し、そのトークンの 1 つのみが含まれる場合よりも動的ランクが高くなります。The 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.

PHRASE オペランドに指定できるのは、1 つの用語です。ワイルドカードも使用できます。The PHRASE operands can be single terms. Wildcards are accepted.

構文Syntax

phrase(term [, term]*)

パラメーターParameters

なし。Not applicable.

注釈Remarks

STRING」も参照してください。See also STRING.

RANGERANGE

RANGE 演算子は、数値管理プロパティおよび日時管理プロパティで使用します。この演算子を使用すると、範囲一致式を指定できます。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>\<numeric_value>\ <date/time_value><date/time_value>
stopstop
<numeric_value>\<numeric_value>\ <date/time_value><date/time_value>
fromfrom
GE\GE\ GTGT
toto
LE\LE\ LTLT

Examples

次の式は、サイズが 10000 バイト以上のアイテム内に出現する語句 "big accomplishments" で始まる Description プロパティに一致します。The following expression matches a description property starting with the phrase "olympic games" 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

次の式は、 author 管理プロパティに値 "Adam Jones sr" および "Adam Jones" が含まれるアイテムに一致します。値 "Mr Adam Jones" が含まれるアイテムには一致しません。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

境界一致の詳細については、「 ENDS-WITH」を参照してください。For additional remarks on boundary matching, see ENDS-WITH.

STRINGSTRING

テキスト文字列に対するブール型の一致条件を定義します。Defines a Boolean matching condition to a text string.

オペランドは、照合するテキスト文字列 (1 つ以上の用語) です。文字列の後にはゼロ個以上のパラメーターが続きます。The operand is a text string (one or more terms) that is to be matched. The string is followed by zero or more parameters.

STRING 演算子を型変換として使用することもできます。たとえば、クエリ string("24.5") は、数値の "24.5" をテキスト文字列として処理します。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>
mode パラメーターは、<text string> 値の評価方法を指定します。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"
n
<numeric_value><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><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. 既定値: 100Default: 100.
linguisticslinguistics
on\on\ offoff
wildcardwildcard
on\on\ offoff

注意

SharePoint では、STRING 演算子のパラメーター minexpansionmaxexpansionannotation_class は廃止されました。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" が含まれ、本文には用語 "b" が含まれる。Index item 1 includes term 'a' in the title and term 'b' in the body.

  • インデックス アイテム 2 の本文には用語 "a" が含まれ、タイトルには用語 "b" が含まれる。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" には、他の 2 つの用語よりも 2 倍のランク貢献度が与えられます。> 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 式は、一致する必要のある 1 つのコンポーネントである match expression_と、動的ランク付けのみに貢献する 1 つ以上のコンポーネントである _rank expression_から構成されます。XRANK 式を有効にするには、 _n を除く 1 つ以上のパラメーターを指定する必要があります。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_に指定できるのは、入れ子の XRANK 式を含む任意の有効な FQL 式です。 _Rank expressions_に指定できるのは、 XRANK 式を除く任意の有効な FQL 式です。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 演算子には boostboostall という 2 つのパラメーターと、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><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.
既定値: 0Default: 0. ゼロの値は、すべてのドキュメントのセマンティックを引き継ぎます。A zero value carries the sematic of all documents .
NbNb
<float_value><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.
XRANK 数式の ff 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><float_value>
cb パラメーターは定数ブーストを示します。The cb parameter refers to constant boost.
既定値: 0Default: 0.
XRANK 数式の aa in the XRANK formula.
stdbstdb
<float_value><float_value>
stdb パラメーターは標準偏差ブーストを示します。The stdb parameter refers to standard deviation boost.
既定値: 0Default: 0.
XRANK 数式の ee in the XRANK formula.
avgbavgb
<float_value><float_value>
avgb パラメーターは平均ブーストを示します。この要素は、結果セットの平均ランク値と乗算されます。The avgb parameter refers to average boost. This factor is multiplied with the average rank value of the results set.
既定値: 0Default: 0.
XRANK 数式の dd in the XRANK formula.
rbrb
<float_value><float_value>
rb パラメーターは範囲ブーストを示します。この要素は、結果セットの範囲ランク値と乗算されます。The rb parameter refers to range boost. This factor is multiplied with the range of rank values in the results set.
既定値: 0Default: 0.
XRANK 数式の bb in the XRANK formula.
pbpb
<float_value><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.
既定値: 0Default: 0.
XRANK 数式の cc 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