elasticsearchに、エラーが発生しても次のレコードを処理することがOKであることを知らせるパラメータがありますか?例えば、これは正しく動作します。バルクAPIの構文エラー
DELETE /test
PUT /test
PUT /_bulk
{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" }}
{ "field1" : "value1" }
{ "create" : { "_index" : "test", "_type" : "type1", "_id" : "3" } }
{ "field1" : "value3" }
get /test/type1/_search
構文エラーの場合は、その行をスキップして次の行を読み込むことをお勧めします。以下のケースでは、私は、ID 1が原因一括更新が運用エラーで停止しませんが、発生している問題が原因であるElasticsearch 2
PUT /_bulk
{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" }}
{ "field1" : "value1" } {
{ "create" : { "_index" : "test", "_type" : "type1", "_id" : "3" } }
{ "field1" : "value3" }
エラーが発生した場合に一括停止しますか?私の知るところでは、単一のリクエストが失敗した場合には、何もエラーをスローまたはスローしません。 –
上記のコードを実行すると、クローズされていない{両方のレコードが失敗したために表示されます。私は2番目の記録が合格することを期待していましたが。 – shantanuo
閉じられていない括弧を残している場合、その文書が終了すると、バルクAPIは理解できません。バルクは、リクエストで渡されたエラーではなく、内部エラーに対するエラー処理を持っています。 –