04.- Elasticsearch actualizar documento (update) desde terminal [Tutorial en Español ??]
1.- Actualizar documento por coincidencia de id
Si agregamos un id y este id coincide con algin documento ya creado este documento sera actualizado por ejemplo el documento con id=1 que podemos ver aqui:
http://localhost:9200/customer/_search?pretty=true&q=name:*
le vamos a cambiar el name asi:
curl -X PUT "localhost:9200/customer/_doc/1?pretty" -H 'Content-Type: application/json' -d' { "name": "Jane Doe" } '
Ahora el name=”Jhon Doe” ha cambiado a “Jane Doe”
PUT=Indicamos que vamos a mandar datos
customer=Nombre del Index (base de datos)
_doc=Nombre del documento documento (registro)
pretty=que nos de una respuesta entendible
“name”=Nombre del campo (No hay necesidad de definirlo previamente)
“Jane Doe”=Nuevo valor asignado al campo name
2.- Actualizar documento por query
Con este comando cambiaremos el nombre de “Jane Doe” por “Jhon Doe”
curl -X POST "localhost:9200/customer/_doc/1/_update?pretty" -H 'Content-Type: application/json' -d'
{
"doc": { "name": "Albert Smit" }
}
'
Y ahora le agregaremos age:
curl -X POST "localhost:9200/customer/_doc/1/_update?pretty" -H 'Content-Type: application/json' -d'
{
"doc": { "name": "Albert Smit", "age": 20 }
}
'
Ave que vuela, a la cazuela.