この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

SOSL の構文

SOSL クエリは、必須の FIND 句で始まります。次に任意の句を追加して、オブジェクト種別、項目、データカテゴリなどによってクエリを絞り込むことができます。返される内容を決定することもできます。たとえば、結果の順序を指定したり、返す行の数を指定したりできます。

必須の FIND 句の後には、1 つ以上の任意の句を次の順序で追加できます。

1FIND {SearchQuery} 
2[ IN SearchGroup ]
3[ RETURNING FieldSpec [[ toLabel(fields)] [convertCurrency(Amount)] [FORMAT()]] ]
4[ WITH DivisionFilter ]
5[ WITH DATA CATEGORY DataCategorySpec ]
6[ WITH SNIPPET[(target_length=n)] ]
7[ WITH NETWORK NetworkIdSpec ]
8[ WITH PricebookId ]
9[ WITH METADATA ]
10[ LIMIT n ]
11
12[ UPDATE [TRACKING], [VIEWSTAT] ]

OFFSET n および WHERE conditionExpressionRETURNING FieldSpec 内に含まれます。

メモ

各項目は次のとおりです。

構文 説明
convertCurrency() 省略可能。組織でマルチ通貨が有効になっている場合、通貨項目をユーザの通貨に換算します。
FIND {SearchQuery} 必須。検索するテキスト (単語または語句) を指定します。検索クエリは中括弧で囲みます。

SearchQuery 文字列が 10,000 字を超えると、結果行は返されません。SearchQuery が 4,000 文字を超えると、論理演算子はすべて削除されます。たとえば、4,001 文字の SearchQuery を含むステートメント内の AND 演算子は、デフォルトの OR 演算子になるため、予想よりも多くの結果が返される場合があります。

FORMAT() 省略可能。FIND 句で FORMAT を使用して、標準およびカスタムの数値、日付、時刻、通貨項目にローカライズされた書式を適用できます。FORMAT 関数では別名指定がサポートされます。さらに、クエリに同じ項目が複数回含まれるときは、別名指定が必要です。
IN SearchGroup 省略可能。検索する項目範囲。次のいずれかの値になります。
  • ALL FIELDS
  • NAME FIELDS
  • EMAIL FIELDS
  • PHONE FIELDS
  • SIDEBAR FIELDS
指定されていない場合、デフォルトは ALL FIELDS です。RETURNING FieldSpec 句で、検索するオブジェクトのリストを指定できます。

この句は、記事、ドキュメント、フィードコメント、フィード項目、ファイル、商品、およびソリューションには適用されません。RETURNING 句にこれらのオブジェクトが指定されている場合、検索は特定の項目に制限されず、すべての項目が検索されます。

メモ

LIMIT n 省略可能。テキストクエリで返される行の最大数を 2,000 以下に指定します。指定されていない場合、返される行の最大数である 2,000 がデフォルトです。この制限は、API バージョン 28.0 以降に適用されます。それ以前のバージョンでは最大 200 行までがサポートされます。
OFFSET n 省略可能。クエリ結果に大量のレコードが含まれると予想される場合、SOSL クエリに OFFSET 句を使用して結果を複数ページに表示できます。たとえば、OFFSET を使用して 51 ~ 75 番目のレコードを表示した後、スキップして 301 ~ 350 番目のレコードを表示できます。OFFSET を使用すると、大規模な結果セットを効率よく処理できます。
ORDER BY 省略可能。ORDER BY 句を使用して、返される検索結果の順序を指定します。また、この句を使用して、結果の先頭または最後に空のレコードを表示することもできます。
RETURNING FieldSpec 省略可能。検索結果で返す情報。1 つ以上のオブジェクトのリスト、および各オブジェクト内の 1 つ以上の項目のリスト (省略可能な絞り込み対象の値を含む)。指定されていない場合、検索結果には見つかったすべてのオブジェクトの ID が含まれます。
toLabel(fields) 省略可能。クエリの結果がユーザの言語に翻訳されて返されます。
[ UPDATE [TRACKING | VIEWSTAT][,...] ] ] 省略可能。組織で Salesforce ナレッジを使用する場合、次の処理を行います。
  • UPDATE TRACKING は、Salesforce ナレッジ記事検索で使用するキーワードを追跡します。
  • UPDATE VIEWSTAT は、記事の参照統計を更新します。
  • UPDATE TRACKING, VIEWSTAT は両方を行います。
WHERE conditionExpression 省略可能。デフォルトで、オブジェクトに対する SOSL クエリでは、ユーザに表示されているすべての行が取得されます。検索を限定するために、特定の項目値で検索結果を絞り込みます。
WITH DATA CATEGORY DataCategorySpec 省略可能。組織で Salesforce ナレッジの記事または回答を使用する場合、1 つ以上のデータカテゴリに基づいてすべての検索結果を絞り込みます。
WITH DivisionFilter 省略可能。組織でディビジョンを使用する場合、Division 項目の値に基づいてすべての検索結果を絞り込みます。
WITH METADATA 省略可能。応答でメタデータが返されるかどうかを指定します。デフォルト設定は no であり、メタデータは返されません。
WITH NETWORK NetworkIdSpec 省略可能。検索結果をコミュニティ ID で絞り込みます。
WITH PricebookId 省略可能。1 つの価格表 ID で商品検索結果を絞り込みます。
WITH SNIPPET [(target_length=n)] 省略可能。組織で Salesforce ナレッジ記事を使用する場合、コンテキストスニペットを表示し、検索結果で各記事の検索語を強調表示します。デフォルトでは、各スニペットには最大で約 300 文字が表示されます。これは、標準のブラウザウィンドウでは通常 3 行分のテキストに相当します。対象の長さに別の値 (100 ~ 500 文字) を指定するには、target_length パラメータ (省略可能) を追加します。

SOSL ステートメントの文字数制限は、組織で定義されている SOQL ステートメントの文字数制限に関連付けられます。デフォルトでは、SOQL クエリおよび SOSL クエリは 20,000 文字を超えることはできません。この最大長を超える SOSL ステートメントでは、API が MALFORMED_SEARCH 例外コードを返します。結果の行は返されません。

メモ