Ho un caso d'uso in cui le richieste di aggiornamento simultanee colpiscono il mio cluster Elasticsearch. Per assicurarsi che un evento obsoleto (reso irrilevante da una nuova richiesta) non aggiorni un documento dopo che un nuovo evento ha già raggiunto il cluster, vorrei passare uno script con le mie richieste di aggiornamento per confrontare un campo per determinare se la richiesta in arrivo è rilevante o meno. La richiesta sarebbe simile a questa:Utilizzo di uno script per aggiornare in modo condizionale un documento in Elasticsearch
curl -XPOST 'localhost:9200/test/type1/1/_update' -d '
{
"script": " IF ctx._source.user_update_time > my_new_time THEN do not update ELSE proceed with update",
"params": {
"my_new_time": "2014-09-01T17:36:17.517""
},
"doc": {
"name": "new_name"
},
"doc_as_upsert": true
}'
è il codice pseudo che ho scritto nel campo "script" possibile in elasticsearch? Se è così, mi piacerebbe un aiuto con la sintassi (groovy, python o javascript).
Qualsiasi suggerimento di approccio alternativo sarebbe molto apprezzato anche.
sono stati in grado di trovare una soluzione a questo? Ho provato questo approccio ma non ha funzionato. – animageofmine
@animageofmine hai trovato una soluzione? – Anant
@Anant guarda il mio post qui: https://discuss.elastic.co/t/conditional-update-to-the-document/64964/16 – animageofmine