Amazon CloudSearch での検索ヒットのハイライト - Amazon CloudSearch

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

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>'} と指定します。