是否有任何參數讓elasticsearch知道即使遇到錯誤也可以繼續下一條記錄?對於例如這工作正常。bulk 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 3即使ID 1失敗,原因是額外{第2行
PUT /_bulk
{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" }}
{ "field1" : "value1" } {
{ "create" : { "_index" : "test", "_type" : "type1", "_id" : "3" } }
{ "field1" : "value3" }
批量停止任何錯誤?因爲根據我的知識,如果任何單個請求失敗,它將不會發生任何錯誤或發生任何錯誤。 –
如果你運行上面的代碼,你會看到由於未關閉{兩個記錄失敗。雖然我預計第二張唱片會通過。 – shantanuo
如果你留下未關閉的支架,那麼當文檔結束時,批量api將不理解。 Bulk對內部錯誤進行錯誤處理,而不是在請求中傳遞的錯誤。 –