2016-04-14 14 views
1

https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html#_scripted_updates'a benzer bir işlem yapan bir belgeye alan eklemeye çalışıyorum. Ancak, alt çizgi ayrılan alanın tersi olarak işaretlenmiş alanın (eksi işareti olarak ele alındığı anlaşılıyor) nedeniyle sorunlar yaşamaya devam ettiğim görülüyor. AşağıdaOluklu komut dosyasında Elasticsearch kaçış tireli alan

Örnek gövdesi: {"script":"ctx._source.path.to.hyphen-separated-field = \"new data\""}

Ben ters eğik çizgi tire kaçmaya çalıştı, ancak hiçbir şans için. Bu seferki 2.x üzerinde benim için çalıştı

{"script": "ctx._source.path.to.'hyphen-separated-field' = 'new data'"} 

cevap

1

Sen köşeli parantez kullanılarak alanını erişebilir, yani sadece böyle yapmak belki başka bir sürüm de olabilir):

"script": { 
    "inline": "ctx._source.path.to[field] = val", 
    "params": { 
    "val": "This is the new value", 
    "field": "hyphen-separated-field" 
    } 
} 
-1

Ya da bu da çalışacaktır (veya:

+0

ES v2.x üzerinde çalışmıyor –

0

{"script": "ctx._source.path.to['hyphen-separated-field'] = \"new data\""} 
İlgili konular