Я использую python-elasticsearch
(https://elasticsearch-py.readthedocs.io/en/master/) для массовой вставки документов в кластер ES с несколькими шардами. Я использую routing
во время вставки, но у меня нет доступа к этой клавише при удалении
Есть ли способ поразить все осколки? Что-то вроде routing=*
. Если я не укажу ключ маршрутизации, ES не сможет найти документ
Это
POST _bulk
{ "index" : { "_index" : "test", "_id" : "1", "routing": "1" } }
{ "field1" : "value1" }
{ "delete" : { "_index" : "test", "_id" : "2" } } // Fails because routing is missing
даст мне
{
"took" : 1334,
"errors" : false,
"items" : [
{
"index" : {
"_index" : "test",
"_type" : "_doc",
"_id" : "1",
"_version" : 1,
"result" : "created",
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"_seq_no" : 0,
"_primary_term" : 1,
"status" : 201
}
},
{
"delete" : {
"_index" : "test",
"_type" : "_doc",
"_id" : "2",
"_version" : 1,
"result" : "not_found",
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"_seq_no" : 0,
"_primary_term" : 1,
"status" : 404
}
}
]
}