Если вы хотите изменить поведение маршрутизации в существующем типе сопоставления, вам необходимо создать новый индекс, воссоздать тип отображения и переиндексировать ваши данные. Я не думаю, что даже можно изменить _routing
на существующий тип сопоставления. Даже если вы видите acknowledged: true
, часть _routing
, вероятно, вообще будет проигнорирована. Вы можете выполнить команду сопоставления обновлений выше, а затем проверить сопоставление, чтобы узнать, имеет ли ваш тип сопоставления новый _routing
, но я уверен, что этого не произойдет.
Причина связана с тем, как работает маршрутизация. Если бы можно было динамически обновлять маршрутизацию, вы могли бы оказаться в том же документе, что и на двух разных осколках того же индекса. В первый раз, когда вы проиндексировали документ (без маршрутизации), документ, возможно, попал в shard1, а затем во второй раз, когда вы индексируете документ (с маршрутизацией), тот же документ может оказаться на shard3. Это означает, что в вашем индексе будет дублированный документ, что, вероятно, не является желаемым поведением.
Поскольку легко создавать новые индексы и типы отображения, когда есть сомнения, просто создайте новый индекс с нуля и переиндексируйте свои данные. Вы потеряете меньше времени, выясняя, почему ваш запрос возвращает странные результаты.
На самом деле в документе говорится: «ПРЕДУПРЕЖДЕНИЕ: извлечение пользовательской маршрутизации из документа больше не поддерживается, оно удалено в Elasticsearch v2.0». –