翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon CloudSearch での検索ヒットのハイライト
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={}
フィールドをハイライト対応にする方法の詳細については、「configure indexing options」を参照してください。
抜粋内に出現する検索用語のハイライト回数、ハイライト方法、抜粋をプレーンテキスト形式または 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>'}
と指定します。