派生ソースを使用してストレージを保存する - Amazon OpenSearch Service

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

派生ソースを使用してストレージを保存する

デフォルトでは、OpenSearch Serverless は取り込まれた各ドキュメントを元の JSON ドキュメント本文を含む _sourceフィールドに格納し、検索する個々のフィールドのインデックスを作成します。_source フィールドは検索できませんが、取得や検索などのフェッチリクエストの実行時に完全なドキュメントが返されるように保持されます。派生ソースが有効になっている場合、OpenSearch Serverless は_sourceフィールドの保存をスキップし、代わりに検索、取得、mget、再インデックス、更新オペレーションなど、オンデマンドで動的に再構築します。派生ソース設定を使用すると、ストレージ使用量を最大 50% 削減できます。

設定

インデックスの派生ソースを設定するには、 index.derived_source.enabled設定を使用してインデックスを作成します。

PUT my-index1 { "settings": { "index": { "derived_source": { "enabled": true } } } }

重要な考慮事項

  • 特定のフィールドタイプのみがサポートされています。サポートされているフィールドと制限のリストについては、OpenSearch ドキュメントを参照してください。派生ソースとサポートされていないフィールドを使用してインデックスを作成すると、インデックスの作成は失敗します。派生ソース対応インデックスでサポートされていないフィールドを持つドキュメントを取り込もうとすると、取り込みは失敗します。この機能は、インデックスに追加されるフィールドタイプを認識している場合にのみ使用します。

  • 設定index.derived_source.enabledは静的設定です。これは、インデックスの作成後に変更することはできません。

クエリレスポンスの制限

派生ソースを有効にすると、クエリレスポンスの生成と返される方法に特定の制限が課されます。

  • 複数の形式が指定されている日付フィールドは、元の取り込み形式に関係なく、リクエストされたすべてのドキュメントのリストの最初の形式を常に使用します。

  • ジオポイント値は固定{"lat": lat_val, "lon": lon_val}形式で返され、ある程度の精度が失われる可能性があります。

  • 複数値の配列はソートされ、キーワードフィールドは重複排除される場合があります。

詳細については、OpenSearch ブログを参照してください。

パフォーマンスベンチマーク

nyc_taxi データセットを使用したベンチマークテストに基づいて、派生ソースはベースラインと比較してインデックスサイズを 58% 削減しました。

メトリクス 派生ソース
インデックスサイズの縮小 58.3%
スループット変更のインデックス作成 3.7%
p90 レイテンシー変更のインデックス作成 6.9%
マッチオールクエリ p90 レイテンシーの改善 19%
範囲クエリ p90 レイテンシーの改善 -18.8%
距離量 p90 Agg レイテンシーの改善 -7.3%

詳細については、OpenSearch ブログを参照してください。