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

WITH SNIPPET

WITH SNIPPET 句 (省略可能) を記事検索の SOSL クエリに追加すると、検索結果に含まれる記事について追加のコンテキストをユーザに提供できます。検索語が記事の概要項目に含まれていない場合、スニペットにより、ユーザは検索結果内で探しているコンテンツを容易に特定できるようになります。

検索の強調表示とスニペットは、次の項目種別から生成されます。

  • メール
  • テキスト
  • テキストエリア
  • ロングテキストエリア
  • リッチテキストエリア

検索の強調表示とスニペットは、次の項目種別からは生成されません

  • チェックボックス
  • 通貨
  • 日付
  • 日付/時間
  • ファイル
  • 数式
  • 参照関係
  • 数値
  • パーセント
  • 電話
  • 選択リスト
  • 選択リスト (複数選択)
  • URL

次の SOSL ステートメントでは、検索語「San Francisco」に一致する記事のスニペットを返します。
1FIND {San Francisco} IN ALL FIELDS RETURNING KnowledgeArticleVersion(id, title WHERE PublishStatus = 'Online' AND Language = 'en_US') WITH
2      SNIPPET (target_length=120)

検索語、定義済みシノニム、および検索語を語幹処理した形式がスニペットの結果のコンテキスト内で <em> タグにより強調表示されます。

1[ {
2  "attributes" : {
3    "type" : "KnowledgeArticleVersion",
4    "url" : "/services/data/v32.0/sobjects/KnowledgeArticleVersion/kaKD00000000001MAA"
5  },
6  "Id" : "kaKD00000000001MAA"
7  "Title" : "San Francisco"
8  "Summary" : "City and County of San Francisco"
9  "snippet.text" : "<em>San</em> <em>Francisco</em>, officially the City and County of <em>San</em> <em>Francisco</em> is the... City and County of <em>San</em> <em>Fran</em>" 
10  "snippet.whole.Title" : "<em>San</em> <em>Francisco</em>"
11}, {
12   "attributes" : {   
13     "type" : "KnowledgeArticleVersion",
14     "url" : "/services/data/v32.0/sobjects/KnowledgeArticleVersion/kaBD0000000007DMAQ"
15   },
16   "Id" : "kaBD0000000007DMAQ",
17   "Title" : "San Francisco Bay Area",
18   "Summary" : "Nine county metropolitan area",
19   "snippet.text" : "The <em>SF</em> Bay Area, commonly known as the Bay Area, is a populated region that"
20   "snippet.whole.Title" : "<em>San</em> <em>Francisco</em> Bay Area"
21}, {
22   "attributes" : {
23     "type" : "KnowledgeArticleVersion",
24     "url" : "/services/data/v32.0/sobjects/KnowledgeArticleVersion/ka3D0000000042OIAQ"
25   },
26   "Id" : "ka3D0000000042OIAQ",
27   "Title" : "California",
28   "Summary" : "State of California",
29   "snippet.text" : "(Greater Los Angeles area and <em>San</em> <em>Francisco</em> Bay Area, respectively), and eight of the nation’s 50 most"
30  } ]

この例では、「SF」(「San Francisco」の定義済みシノニム) と「San Fran」(「San Francisco」の語幹処理された形式) も結果内で一致した検索語として強調表示されます。

メモ

使用方法

WITH SNIPPET 句を使用する SOSL ステートメントには、RETURNING ObjectTypeName 句に PublishStatus 項目で絞り込みを行う WHERE 句を指定して使用することをお勧めします。

スニペットは記事についてのみ表示されます。RETURNING 句では、ObjectTypeName に次のいずれかを指定します。
  • サフィックス __kav の付いた記事タイプ名 (特定の記事タイプを検索する場合)。
  • KnowledgeArticleVersion (すべての記事タイプを検索する場合)。

WITH SNIPPET が指定された検索に含まれるその他のオブジェクトは、スニペットを返しません。

スニペットは、ワイルドカードが含まれる検索語については表示されません。

スニペットを返さない検索 (検索で記事を返さない場合、検索語にワイルドカードが含まれる場合、ユーザにスニペットが含まれる項目へのアクセス権がない場合など) に WITH SNIPPET 句を追加しても、結果にスニペットは表示されません。

スニペットは、検索結果で返される最初の 20 件の記事について表示されます。返される記事が 20 を超えると、スニペットは生成されません。

一度に 20 件の記事のみを返すようにするには、LIMIT 句または OFFSET 句を使用します。

ヒント

エスケープされた HTML タグ

HTML タグ内で一致した検索語がスニペットで返されると、HTML タグはエスケープされ、一致した検索語が結果内で強調表示されます。

salesforce」を検索して、テキスト「For more information, visit <a href='http://salesforce.com'>salesforce.com</a>」を含む記事が返される場合、記事内の元のハイパーリンクタグはエスケープされ、「salesforce」がスニペットの結果内で強調表示されます。
1For more information, visit &lt;a href='http://salesforce.com'&gt;salesforce.com&lt;/a&gt;

対象スニペットの長さ

デフォルトでは、各スニペットには最大で約 300 文字が表示されます。これは、標準のブラウザウィンドウ表示では通常 3 行のテキストに相当します。

スニペットは、統計的に有意ではない差異範囲内で対象の長さまでの検索語が含まれるテキストの、1 つ以上のフラグメントで構成されます。返されたスニペットに複数のテキストフラグメントが含まれる場合 (複数項目内に一致がある場合など)、対象の長さは、返されるフラグメントすべての最大合計長になります。

対象の長さに別の値を指定するには、省略可能な target_length パラメータを WITH SNIPPET 句に追加します。対象の長さは、50 ~ 1,000 文字で指定できます。

target_length パラメータは、標準のモバイルインターフェースに約 3 行のテキストからなるスニペットを表示するのに便利です。
1FIND {San Francisco} IN ALL FIELDS RETURNING KnowledgeArticleVersion(id, title WHERE PublishStatus = 'Online' AND Language = 'en_US') WITH
2      SNIPPET(target_length=120)

サポートされる API

WITH SNIPPET 句は、API バージョン 32.0 以降で使用できます。SOSL 内の WITH SNIPPET 句は、SOAP APIREST API、および Apex でサポートされます。