Могу ли я массово удалять документы без указания ключа маршрутизации? - PullRequest
0 голосов
/ 25 февраля 2020

Я использую 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
      }
    }
  ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...