DBAtlas · Veritabanı operasyon atlası

routing_missing_exception: Routing value is required for this document

Elasticsearch

Ne demek?

Belgeye erişim/indeksleme için bir yönlendirme (routing) değeri zorunlu olduğu halde sağlanmadı. Elasticsearch, belgenin hangi shard'a ait olduğunu routing olmadan belirleyemedi.

Neden olur?

Index mapping'inde _routing required=true olarak tanımlı; parent-join (parent/child) ilişkisi kullanılıyor ve child belgeler için routing gerekiyor; ya da index/get/update/delete isteğinde routing parametresi atlanmış. Özel routing ile yazılan belgeleri routing vermeden okumaya çalışmak tipik nedendir.

Nasıl çözülür?

İstekte routing değerini açıkça belirtin (ör. index/get/update/delete çağrılarında ?routing=deger). Parent-join kullanıyorsanız child belgelerde ebeveynin id'sini routing olarak geçirin. Belge yazılırken hangi routing kullanıldıysa okuma/güncelleme/silmede de aynısını kullanın. Mapping'de _routing gereksinimini (required) gözden geçirin.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar