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

WITH SNIPPET

WITH SNIPPET 句 (省略可能) を記事、ケース、フィード、およびアイデアの検索の SOSL クエリに追加できます。検索結果ページの記事タイトルの下の抜粋で、周囲のテキストのコンテキスト内で検索クエリに一致する語が強調表示されます。スニペットにより、ユーザは探しているコンテンツを容易に特定できます。

スニペットを生成せずに、強調表示された一致を含む検索結果を生成するには、WITH HIGHLIGHT を使用してください。

メモ

検索のスニペットと強調表示は、次の項目種別から生成されます。
  • メール
  • テキスト
  • テキストエリア
  • ロングテキストエリア
  • リッチテキストエリア

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

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

一致する語は、スニペットの結果のコンテキスト内で <mark> タグによって強調表示されます。検索語の語幹処理された形式および定義されているシノニムも強調表示されます。

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" : "<mark>San</mark> <mark>Francisco</mark>, officially the City and County of <mark>San</mark> <mark>Francisco</mark> is the... City and County of <mark>San</mark> <mark>Fran</mark>" 
10  "highlight.Title" : "<mark>San</mark> <mark>Francisco</mark>"
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 <mark>SF</mark> Bay Area, commonly known as the Bay Area, is a populated region that"
20   "highlight.Title" : "<mark>San</mark> <mark>Francisco</mark> 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 <mark>San</mark> <mark>Francisco</mark> 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 (すべての記事タイプを検索する場合)。
  • ケース、ケースコメント、フィード、フィードコメント、アイデア、アイデアのコメントの種別を検索するには、CaseCaseCommentFeedItemFeedCommentIdeaIdeaComment を使用します。以下に例を示します。
    1FIND {San Francisco} IN ALL FIELDS RETURNING FeedItem, FeedComment WITH SNIPPET (target_length=120)

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

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

スニペットが表示されるのは、ページに返される結果が 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_length0 や負の数値などの無効な数値に設定されている場合、長さはデフォルトの 300 に設定されます。

target_length パラメータを 120 文字にすると、標準のモバイルインターフェースに約 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 API、REST API、および Apex でサポ���トされます。