翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ポイントインタイム (PIT) とは、時間が固定されているデータセットにさまざまなクエリを実行できる、検索の一種です。ドキュメントは絶えずインデックス付けされ、更新され、削除されているため、同じインデックスに対して同じクエリを異なる時点で実行すると、通常は異なる結果が返されます。PIT では、一定の状態に保たれたデータセット対して、クエリを実行できます。
PIT 検索は、多くの場合 search_after
機能と組み合わせて使用されます。これは、OpenSearch、とりわけディープページネーションで推奨されているページネーションの方法です。時間とともに固定したデータセットで機能し、クエリに拘束されず、前方と後方への一貫したページネーションをサポートしているためです。OpenSearch バージョン 2.5 を実行するドメインで PIT を使用できます。
注記
このトピックでは、PIT の概要と、セルフマネージド OpenSearch クラスターではなく、マネージド Amazon OpenSearch Service ドメインで使用するときに考慮すべき点について説明します。包括的な API リファレンスを含む PIT の完全なドキュメントについては、オープンソースの OpenSearch ドキュメントの「Point in Time
考慮事項
PIT 検索を設定するときは、以下を考慮します。
-
OpenSearch バージョン 2.3 を実行するドメインからのアップグレードで、PIT アクションへのきめ細かなアクセスコントロールが必要である場合、そのアクションとロールは手動で追加する必要があります。
-
PIT には回復力はありません。ノードの再起動、ノードの終了、ブルー/グリーンデプロイ、OpenSearch プロセスの再起動などにより、PIT のデータはすべて失われます。
-
ブルー/グリーンデプロイ中にシャードが再配置された場合、新しいノードに転送されるのはライブデータのセグメントのみです。PIT が保持していたシャードのセグメント (独占的に保持していたものとライブデータと共有されたものの両方) は、古いノードに残ります。
-
PIT 検索は現在、非同期検索では使用できません。
PIT の作成
PIT クエリを実行するには、次の形式を使って HTTP リクエストを _search/point_in_time
に送信します。
POST
opensearch-domain
/my-index
/_search/point_in_time?keep_alive=time
次の PIT オプションを指定できます。
オプション | 説明 | デフォルト値 | 必須 |
---|---|---|---|
keep_alive |
PIT を維持する時間。検索リクエストで PIT にアクセスするたびに、PIT の有効期間が |
はい | |
preference |
検索の実行に使用されるノードまたはシャードを指定する文字列。 |
ランダム | いいえ |
routing |
検索リクエストを特定のシャードにルーティングするよう指定する文字列。 | ドキュメントの _id |
いいえ |
expand_wildcards |
ワイルドカードパターンと一致するインデックスのタイプを指定する文字列。コンマ区切り値をサポート。有効な値は以下のとおりです。
|
open |
いいえ |
allow_partial_pit_creation |
部分的な障害を含む PIT を作成するかどうかを指定するブール値。 | true |
いいえ |
レスポンス例
{
"pit_id": "o463QQEPbXktaW5kZXgtMDAwMDAxFnNOWU43ckt3U3IyaFVpbGE1UWEtMncAFjFyeXBsRGJmVFM2RTB6eVg1aVVqQncAAAAAAAAAAAIWcDVrM3ZIX0pRNS1XejE5YXRPRFhzUQEWc05ZTjdyS3dTcjJoVWlsYTVRYS0ydwAA",
"_shards": {
"total": 1,
"successful": 1,
"skipped": 0,
"failed": 0
},
"creation_time": 1658146050064
}
PIT を作成すると、PIT ID が届きます。これは、PIT を使って検索するときに使用する ID です。
ポイントインタイムアクセス許可
PIT は、詳細なアクセス制御をサポートしています。OpenSearch バージョン 2.5 ドメインにアップグレードする予定で、きめ細かなアクセスコントロールが必要である場合は、次のアクセス許可を持つロールを、手動で作成する必要があります。
# Allows users to use all point in time search search functionality
point_in_time_full_access:
reserved: true
index_permissions:
- index_patterns:
- '*'
allowed_actions:
- "indices:data/read/point_in_time/create"
- "indices:data/read/point_in_time/delete"
- "indices:data/read/point_in_time/readall"
- "indices:data/read/search"
- "indices:monitor/point_in_time/segments"
# Allows users to use point in time search search functionality for specific index
# All type operations like list all PITs, delete all PITs are not supported in this case
point_in_time_index_access:
reserved: true
index_permissions:
- index_patterns:
- 'my-index-1'
allowed_actions:
- "indices:data/read/point_in_time/create"
- "indices:data/read/point_in_time/delete"
- "indices:data/read/search"
- "indices:monitor/point_in_time/segments"
OpenSearch バージョン 2.5 以降のドメインでは、組み込みの point_in_time_full_access
ロールを使用できます。詳細については、OpenSearch ドキュメントの「セキュリティモデル
PIT の設定
OpenSearch では、利用可能なすべての PIT 設定_cluster/settings
API を使用して変更することができます。OpenSearch Service では、現在設定を変更できません。
クラスター間検索
PIT の作成、PIT ID を使った検索、PIT の一覧表示、クラスター全体での PIT の削除には、次のような軽微の制限があります。
-
PIT の一覧を表示したり、すべての PIT を削除したりできるのは、ソースドメイン上でのみです。
-
クロスクラスター検索クエリの一部としてネットワークラウンドトリップを最小化することはできません。
詳細については、「Amazon OpenSearch Service のクロスクラスター検索」を参照してください。
UltraWarm
UltraWarm インデックスを用いた PIT 検索は、引き続き使用できます。詳細については、「Amazon OpenSearch Service の UltraWarm ストレージ」を参照してください。
注記
PIT 検索の統計は、CloudWatch でモニタリングできます。メトリクスの一覧については、「ポイントインタイムメトリクス」を参照してください。