すべてのプロダクト
Search
ドキュメントセンター

OpenSearch:検索結果のサマリー

最終更新日:Jun 22, 2026

ドキュメントは長文であることが多く、検索結果に全文を表示することは実用的ではありません。この問題に対処するため、サマリーとハイライトを設定できます。システムはクエリ用語を含むテキストセグメントを抽出し、ユーザーが検索結果の関連性を迅速に判断できるようにします。これらの表示設定はコンソールでカスタマイズできます。一度設定すると、これらの設定は API 検索リクエストに自動的に適用されます。また、API 呼び出しで summary パラメーター を使用し、特定のクエリに対してコンソールの設定をオーバーライドすることもできます。

パラメーター

  • フィールド: サマリーを生成するフィールド。

  • セグメント長: 各サマリーセグメントの最大長。

  • ハイライトタグ: キーワードのハイライトに使用する HTML タグ。

  • セグメントコネクタ: サマリーセグメントの接続に使用する文字列。

  • セグメント数: 返すセグメントの最大数。

コンソールでの設定

1. コンソールで、[機能拡張] > [検索結果の表示] に移動し、サマリーを設定します。

00000000000000000000

2. 次の例では、ハイライトタグの設定方法を示します。

この例では、title フィールドにサマリーが設定されています。セグメント長は 50、ハイライトタグは em、セグメントコネクタは ...、セグメント数は 5 です。

API および SDK での設定

  • API パラメーター: summary パラメーター を使用して設定します。

  • SDK 設定: 次の例では、Java SDK を使用してサマリーを設定する方法を示します。

    // 検索結果のサマリーを設定します。Summary オブジェクトを使用すると、サマリー設定を簡単に追加できます。
        Summary summ = new Summary("name");
        summ.setSummary_field("name");// サマリーを適用するフィールド。アナライザーが設定された TEXT フィールドである必要があります。
        summ.setSummary_len("50");// セグメント長。
        summ.setSummary_element("em"); // ハイライトタグ。
        summ.setSummary_ellipsis("...");// セグメントコネクタ。
        summ.setSummary_snippet("5");// セグメント数。
        // Summary オブジェクトを追加します。

  • SearchParams クラスの summary オブジェクトでは、ハイライトタグに個別のプレフィックスとサフィックスを指定することはできません。完全な HTML タグを指定する必要があります。たとえば、ハイライトタグを em に設定した場合、「Alibaba Cloud OpenSearch product document」の JSON レスポンスでは、ハイライトされた結果は Alibaba Cloud<em>OpenSearch</em>product document となります。

  • SDK でハイライトタグにカスタムのプレフィックスとサフィックスを設定するには、SearchParamsBuilder オブジェクトを使用します。

    // SearchParams のユーティリティクラスであり、より柔軟な操作を提供します。
          SearchParamsBuilder paramsBuilder = SearchParamsBuilder.create(searchParams);
          // SearchParamsBuilder オブジェクトを使用してサマリー設定を追加します。
    paramsBuilder.addCustomParam("summary", "summary_field:name,summary_ellipsis:...,summary_snippet:5,summary_len:50,summary_element_prefix:<abc>,summary_element_postfix:</abc>");
         // 複数のサマリーフィールドを指定するには、セミコロン (;) で区切ります。

    重要事項

  • ハイライトはクエリ内の用語にのみ適用されます。ハイライト用に設定したフィールドは、インデックス付けされた必要があります。そうでない場合、ハイライトが期待どおりに機能しない可能性があります。

  • サマリーとハイライトの設定は、同時に行う必要があります。

  • 複数のフィールドに対してサマリーを設定すると、一致するクエリ用語は指定されたすべてのフィールドでハイライトされます。

  • 一致する用語がドキュメント内で 10,000 バイトの制限を超える位置に出現した場合、ハイライトされません。

  • ハイライト処理中、ソーステキスト内の山括弧 (< および >) は、出力で &lt; および &gt; にエスケープされます。

  • 標準中国語アナライザーと単一文字アナライザーなど、同じフィールドに異なるアナライザーを適用した場合、ハイライトが不正確になったり、不完全になったりする可能性があります。サマリーが一方のアナライザーにしか基づいて用語を照合しなかったり、誤った内容をハイライトしたりする場合があります。

  • 単一のクエリで、検索にアナライザーが異なる2つ以上のインデックスを使用した場合、ハイライトが失敗したり、予期せぬ動作をしたりする可能性があります。

  • デフォルトでは、特殊文字はハイライトされたセグメントから除外されます。これらの文字を表示するには、kvpairs 句を filter_punc:0 に設定して、このフィルタリングを無効にします。

サマリーとハイライトの例

キーワード friendship を検索すると、検索結果の各項目にサマリーセグメントが表示され、一致するキーワードがハイライトされます。各結果には、タイトル、ソース、作成者、カテゴリ、ステータス、単語数、評価などのフィールドと、[閲覧開始] ボタンが含まれます。ページ上部では、カテゴリ、単語数、ステータスで結果をフィルターしたり、更新時間、評価数、サブスクリプション数などの基準でソートしたりすることもできます。