1
我試圖在彈性搜索中執行批量操作。然而,在JSON中給出的上一次操作永遠不會被彈性搜索執行。彈性搜索批量忽略在json中提供的最後一個操作
這是我請求:
curl -XPOST 'localhost:9200/customer/external/_bulk?pretty&pretty' -d'
{"update":{"_id":"1"}}
{"doc": { "name": "Update - John Doe becomes Jane Doe" } }
{"delete":{"_id":"4"}}
{"index":{"_id":"3"}}
{"name": "Create or Update - New Jane Doe" }
{"create":{"_id":"4"}}
{"name": "Only Create - New Jane Doe" }
{"create":{"_id":"5"}}
{"name": "Only Create - New Jane Doe 1" }'
的響應只包含4個輸出,而不是5:
{
"took": 100,
"errors": false,
"items": [
{
"update": {
"_index": "customer",
"_type": "external",
"_id": "1",
"_version": 9,
"result": "noop",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"status": 200
}
},
{
"delete": {
"found": true,
"_index": "customer",
"_type": "external",
"_id": "4",
"_version": 4,
"result": "deleted",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"status": 200
}
},
{
"index": {
"_index": "customer",
"_type": "external",
"_id": "3",
"_version": 7,
"result": "updated",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"created": false,
"status": 200
}
},
{
"create": {
"_index": "customer",
"_type": "external",
"_id": "4",
"_version": 5,
"result": "created",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"created": true,
"status": 201
}
}
]
}
我的方案,客戶ID爲 「5」(名稱:「Only Create - New Jane Doe 1」)從未創建過。如果我刪除了最後一個請求(id:5),那麼即使id:4也沒有被創建。
我做了一個搜索以獲取客戶索引的所有文檔,但id:5不存在。
它就好像彈性搜索忽略了JSON的最後部分。我甚至試圖通過PostmanClient發佈請求,並且它仍然是一樣的。
彈性搜索版本:5.1.1
我不確定,試試curl -XPOST'localhost:9200/customer/external/_bulk?pretty = true'-d – Lax