2016-03-21 18 views
0

Merhaba Es v2.0 üzerinde belirli bir alana "userId" özel yönlendirme ayarlamak istiyorum. Ama bu bana hata veriyor. ES'de özel yönlendirme nasıl ayarlanacağını bilmiyorum v2.0elasticsearch belirli bir alanda yönlendirme

Lütfen çocuklar bana yardım et.Teşekkürler. Teşekkürler, mevcut dizini ile özel yönlendirme oluştururken hata iletisidir. ES 2.0

{ 
    "error": { 
    "root_cause": [ 
     { 
      "type": "mapper_parsing_exception", 
      "reason": "Mapping definition for [_routing] has unsupported parameters: [path : userId]" 
     } 
    ], 
    "type": "mapper_parsing_exception", 
    "reason": "Mapping definition for [_routing] has unsupported parameters: [path : userId]" 
    }, 
"status": 400 
} 

cevap

1

, _routing.path meta alan has been removed. Yani şimdi artık şöyle yapmak gerekir:

eşlemenizde olarak

, sadece belirtebildiklerinden yönlendirme gereklidir (ama artık path belirleyemezsiniz): Bir belge ne zaman endeks daha sonra

PUT my_index 
{ 
    "mappings": { 
    "my_type": { 
     "_routing": { 
     "required": true 
     }, 
     "properties": { 
     "name": { 
      "type": "string" 
     } 
     } 
    } 
    } 
} 

Ve sorgu dizesindeki yönlendirme değerini şu şekilde belirtebilirsiniz:

PUT my_index/my_type/1?routing=bar 
{ 
    "name": "foo" 
} 
+0

Dizimdeki UserId adlı alana yönlendirmek istiyorum. Sorguyu elle yönlendirmek istemiyorum. –

+0

Maalesef, ES 2.x ile hiçbir seçeneğiniz yok, şimdi bu şekilde. Bu ağırlıklı olarak [performans nedenlerinden dolayı] yapıldı (https://github.com/elastic/elasticsearch/issues/6730) – Val

+0

yess val ... Çok teşekkür ederim. –

İlgili konular