

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon CloudSearch での検索ヒットのハイライト
<a name="highlighting"></a>

Amazon CloudSearch では、検索結果と共に抜粋を返して、一致するドキュメントの特定のフィールド内のどこに検索用語が出現しているかを示すことができます。例えば、次の抜粋では、*luke skywalker* という検索用語が `plot` フィールド内でハイライト表示されています。

```
highlights": {
    "plot": "After the rebels have been brutally overpowered by the Empire on
    their newly established base, *Luke* *Skywalker* takes advanced Jedi 
    training with Master Yoda, while his friends are pursued by Darth Vader 
    as part of his plan to capture *Luke*."
}
```

フレーズ検索の場合、一致するドキュメントはそのフレーズを含む必要があります。しかし、ハイライトを取得すると、フレーズ内の用語が個別にハイライト表示されます。`"Luke Skywalker"` というフレーズを検索して、先の例のように `plot` フィールドのハイライトを取得する場合、後ろに `Skywalker` という用語がなくても `Luke` という用語がハイライト表示されます。ハイライトは、フィールドの最初の 10 KB のデータについてのみ返されます。フィールドが 10 KB 以上のデータを含み、10 KB の上限を超えた位置に検索用語が出現する場合、ハイライト処理はされません。

検索リクエストで `highlight.FIELD` パラメータを指定することで、任意のハイライト対応フィールドのハイライトを取得できます。例えば、`plot` フィールドのハイライトを取得するには、次のように指定します。

```
search?q=star wars&highlight.plot={}
```

フィールドをハイライト対応にする方法の詳細については、「[インデックスフィールドの設定](configuring-index-fields.md)」を参照してください。

抜粋内に出現する検索用語のハイライト回数、ハイライト方法、抜粋をプレーンテキスト形式または HTML 形式として返すかどうかを制御できます。Amazon CloudSearch が抜粋を HTML として返すときは、アルファベット以外の文字は HTML のエンティティエンコーディングを使用してエスケープされます。フィールドにはユーザーが生成したコンテンツが最初に入力されている場合があるため、こうすることで、信頼されない HTML コンテンツの埋め込みに関連するリスクを最小限に抑えられます。

ハイライトのオプションは JSON オブジェクトとして指定します。JSON オブジェクトが空である場合 (`highlight.FIELD={}`)、Amazon CloudSearch は検索用語のすべての出現を HTML の強調タグで囲む (<em>*term*</em>) ことでハイライトし、抜粋は HTML として返されます。
+ 抜粋を `text` または `html` のどちらで返すか指定するには、`format` オプションを使用します。例えば、`highlight.plot={format:'text'}` と指定します。
+ 出現した検索用語をハイライトする最大回数を指定するには、`max_phrases` オプションを使用します。例えば、`highlight.plot={max_phrases:3}` と指定します。デフォルトは1、最大値は5です
+ ハイライトする用語の前に追加する文字列を指定するには、`pre_tag` オプションを使用します。例えば、`highlight.plot={pre_tag:'<strong>', post_tag:'</strong>'}` と指定します。
+ ハイライトする用語の後に追加する文字列を指定するには、`post_tag` オプションを使用します。例えば、`highlight.plot={pre_tag:'<strong>', post_tag:'</strong>'}` と指定します。