SOSL の構文
SOSL クエリは FIND 句 (必須) で開始します。その後に省略可能な句を使用して、オブジェクト種別、項目、データカテゴリなどに基づいてクエリを絞り込むことができます。返される内容を決定することもできます。たとえば、結果が返される順序、返される行数などを決定できます。
SOSL クエリ構文は、必須の FIND 句とそれに続く 1 つ以上の省略可能な句で構成されます。次のような順序で指定します。
1FIND {SearchQuery}
2[ IN SearchGroup [ convertCurrency(Amount)] ]
3[ RETURNING FieldSpec [ toLabel(fields)] ]
4[ WITH DivisionFilter ]
5[ WITH DATA CATEGORY DataCategorySpec ]
6[ WITH SNIPPET[(target_length=n)] ]
7[ WITH NETWORK NetworkIdSpec ]
8[ LIMIT n ]
9
10[ UPDATE [TRACKING], [VIEWSTAT] ]各項目は次のとおりです。
| 構文 | 説明 |
|---|---|
| FIND {SearchQuery} | 必須。検索するテキスト (単語または語句) を指定します。検索クエリは中括弧で区切る必要があります。 SearchQuery 文字列が 10,000 字を超えると、結果行は返されません。SearchQuery が 4,000 文字を超えると、論理演算子はすべて削除されます。たとえば、4,001 文字の SearchQuery を含むステートメント内の AND 演算子は、デフォルトの OR 演算子になるため、予想よりも多くの結果が返される場合があります。 |
| IN SearchGroup | 省略可能。検索する項目範囲。次のいずれかの値になります。
|
| convertCurrency(Amount) | 省略可能。組織でマルチ通貨が有効になっている場合、通貨項目をユーザの通貨に換算します。 |
| RETURNING FieldSpec | 省略可能。検索結果で返す情報。1 つ以上のオブジェクトのリスト、および各オブジェクト内の 1 つ以上の項目のリスト (省略可能な絞り込み対象の値を含む)。指定されていない場合、検索結果には見つかったすべてのオブジェクトの ID が含まれます。 |
| toLabel(fields) | 省略可能。クエリの結果がユーザの言語に翻訳されて返されます。 |
| WITH DivisionFilter | 省略可能。組織でディビジョンを使用する場合、Division 項目の値に基づいてすべての検索結果を絞り込みます。 |
| WITH DATA CATEGORY DataCategorySpec | 省略可能。組織で Salesforce ナレッジの記事または回答を使用する場合、1 つ以上のデータカテゴリに基づいてすべての検索結果を絞り込みます。 |
| WITH SNIPPET [(target_length=n)] | 省略可能。組織で Salesforce ナレッジ記事を使用する場合、コンテキストスニペットを表示し、検索結果で各記事の検索語を強調表示します。デフォルトでは、各スニペットには最大で約 300 文字が表示されます。これは、標準のブラウザウィンドウでは通常 3 行のテキストに相当します。対象の長さに別の値 (100 ~ 500 文字) を指定するには、target_length パラメータ (省略可能) を追加します。 |
| WITH NETWORK NetworkIdSpec | 省略可能。検索結果をコミュニティ ID で絞り込みます。 |
| LIMIT n | 省略可能。テキストクエリで返される行の最大数を 2,000以下に指定します。指定されていない場合、返される行の最大数である 2,000 がデフォルトです。この制限は、API バージョン 28.0 以降に適用されます。以前のバージョンでは最大 200 行までが返されます。 |
| [ UPDATE [TRACKING | VIEWSTAT][,...] ] ] | 省略可能。組織で Salesforce ナレッジを使用する場合、次の処理を行います。
|