L'esempio per upsert è:elasticsearch Aggiorna API se un campo non esiste
curl -XPOST 'localhost:9200/test/type1/1/_update' -d '{
"script" : "ctx._source.counter += count",
"params" : {
"count" : 4
},
"upsert" : {
"counter" : 1
}
}'
che funziona se il documento non esiste in precedenza.
Dire che voglio aggiornare un campo che non esiste necessariamente, ma il documento esiste. Ad esempio, il documento potrebbe non avere ancora un campo contatore.
Come faccio a farlo?
Ottimo! Ti capita di sapere se c'è qualche sito che potrebbe effettivamente spiegare il linguaggio MVEL? Ho fatto del mio meglio per impararlo, ma non riesco a trovare alcuna risorsa decente. http://mvel.codehaus.org/Language+Guide+for+2.0 è orribile e copre quasi nulla – eran
Questa è la migliore risorsa di cui sono a conoscenza. Il mio consiglio è di installare [javascript plugin] (https://github.com/elasticsearch/elasticsearch-lang-javascript) e passare a javascript come linguaggio di scripting. – imotov
Dalla documentazione di elasticsearch sul linguaggio di scripting: 'Il modulo di scripting usa di default groovy (precedentemente mvel in 1.3.x e precedenti)' –