インデックス呼び出しを実行すると、同じIDの文書がすでに存在する場合に呼び出しを失敗させる方法はありますか?ElasticSearch C#NEST - 文書を上書きしないようにする方法
警告が発行されていますが、元の文書はまだ上書きされています。
インデックス呼び出しを実行すると、同じIDの文書がすでに存在する場合に呼び出しを失敗させる方法はありますか?ElasticSearch C#NEST - 文書を上書きしないようにする方法
警告が発行されていますが、元の文書はまだ上書きされています。
あなたは_create
エンドポイントを使用することによって、またはOpType.Create
を指定することでこれを達成することができ、文書
var client = new ElasticClient();
// using OpType.Create
client.Index(new Test { Id = 1, Message = "message 1" }, i => i
.OpType(OpType.Create)
);
// using _create endpoint
client.Create(new Test { Id = 1, Message = "message 1" });
のインデックスを作成する際に文書がすでに存在する場合は、HTTP 409競合応答が返されます。いずれの場合も、索引作成/作成中の文書のIDが必要です。
すでに存在するドキュメントをスキップするIndexManyに類似したものはありますか? – Thomas
スキップしませんが、409を返します。 'IndexMany'は公開する' _bulk' APIの便利な部分です。一括作成、更新、インデックス、および削除操作があります。さまざまな操作の例については、Bulk APIテストをご覧ください:https://github.com/elastic/elasticsearch-net/blob/5.x/src/Tests/Document/Multiple/Bulk/BulkApiTests.cs#L74-L89 –
質問に間違いがあったことを知るには、downvoteにコメントを付けると非常に役に立ちます。 – Thomas