OpenSearch ドキュメントの編集
ドキュメントの編集はアイテムの編集と同じように動きます: まずステージされ、保留中の変更で差分を確認し、 Commit で書き込まれます。編集には試用中または有効なライセンスが必要です。
ドキュメントを開く
行をクリックするか、選択した行で ⌘E を押すと、エディタで開きます。インデックスタブで ⌘N を押すと新しいドキュメントになります。
エディタはすぐに開き、それから _id で保存されているドキュメント全体を読み取ります。その読み取りが終わるまで保存は無効です。グリッドは一部のフィールドしか表示しないことがあるため、エディタはグリッドの行からドキュメントを組み立てません。保存されるのは、保存済みのドキュメントにあなたの変更を加えたものです。

表示
エディタのヘッダーにある切り替えで 3 つの表示を切り替えます。⌘⇧M で順に切り替わります。
- プレーン: ドキュメントを JSON で表示します。
- ドキュメント: フィールドごとに 1 つのコントロールを持つフォームで、長いテキストを扱いやすくなります。
- Flow: 入れ子のオブジェクトと配列を表す読み取り専用のグラフです。
DynamoDB JSON の表示はありません。ドキュメントには表示すべき型のラッパーがないからです。
_id はドキュメントのキーです。これは変更できず、ドキュメントのルーティングも変更できません。ドキュメントを移すには、新しいドキュメントを作成して古いものを削除します。
保存と Commit
- ⌘S で変更をステージします。保留中の変更(⌘⇧D)で確認してから Commit します。
- ⌘⇧S でステージと Commit を一度に行います。
- ⌘⌫ で選択した行の削除をステージし、⌘⇧⌫ で削除して Commit します。
ステージした変更は、そのドメインまたはコレクション上のインデックスに属します。同じ名前のテーブルとインデックスが保留中の変更を共有することはありません。
Commit の後、グリッドは書き込んだドキュメントを元の位置に表示します。編集したドキュメントは同じ行に残り、削除したものは消え、新しいものは先頭に現れます。 OpenSearch は直後の書き込みをまだ返さないことがあるため、DynoTable は検索をやり直しません。タブの検索にもう一致しないドキュメントは、更新するまで残ります。
マネージドドメインでの競合
マネージドドメインまたはセルフホストのエンドポイントでは、各更新が読み取ったドキュメントのバージョンを持ちます。開いた後に誰かがドキュメントを変更していれば、Commit はその変更を上書きせずに競合として止まります:
- リモートにリベースはドキュメントを読み直し、相手のバージョンの上にあなたの変更を適用します。相手が変更しあなたが変更していないフィールドは残ります。確認して、もう一度 Commit してください。
- 破棄はあなたの変更を取り消します。
_id がすでに存在する新しいドキュメントも、黙って上書きされずに競合として止まります。Commit はバッチで書き込み、最初の競合で停止します。それより前に書き込んだドキュメントは書き込まれたまま残り、残りはステージされたままです。
Serverless での最終書き込み優先
Serverless コレクションには、DynoTable が確認できるバージョンがありません。そこでの Commit は、その時点でドキュメントが持つ内容をそのまま上書きし、その間に誰かが行った変更は失われます。コレクションでは、インデックスタブとエディタに最終書き込み優先のバッジが表示されます。一括編集、削除、インポートのダイアログと履歴の一覧でも、あらためてそう伝えます。
新しいドキュメントの作成は、その _id が存在すれば引き続き失敗します。

履歴と元に戻す
インデックスへの Commit は、テーブルの Commit と同じローカルの履歴に入ります。元に戻すは Commit の逆の操作をステージし、確認できるようにします。ドメインでは、元に戻す操作は Commit が書き込んだバージョンと照合されるため、それより新しい変更は競合として表示されます。
Serverless コレクションでは、元に戻す操作は最終書き込み優先で書き込みます。削除を元に戻すには Search コレクションが必要です。時系列コレクションとベクトル検索コレクションは _id を指定したドキュメントを受け付けないため、
DynoTable はその操作を拒否します。
編集が拒否されるとき
- 複数のインデックスにまたがるエイリアス。 そのドキュメントはクイックビューでは開けますが、エディタでは開けません。ドキュメントを持つインデックスを開いてください。
_sourceが無効またはフィルターされたインデックス。 既存のドキュメントを保存すると、OpenSearch が返さないフィールドが失われるため、DynoTable は保存を拒否します。- 時系列またはベクトル検索の Serverless コレクション。
_idを指定したドキュメントを受け付けないため、編集は拒否されます。削除はできます。
同じ _id でルーティングの値が異なる 2 つのドキュメントは、保留中の変更では
1 つのドキュメントに見えます。そうしたドキュメントは 1 つずつステージして
Commit してください。





