J'ai répertorié un document ElasticSearch comme suit:Comment mettre à jour un document à l'aide de l'API Elasticsearch Update?
{
_parent: chow-demo
_index: prototype_2013.01.02
_type: chow-clfg
_id: Nx4JcvyxTPujkyy0Jq5BNw
_score: 11.600378
_source: {
chow-clfg: {
@type: chow-clfg
clfg: Cg5iV00z4woYAAAARQ0
@timestamp: 2013-01-02T06:26:00.000Z
count: 1
}
}
}
J'ai essayé de mettre à jour le champ de comptage par la commande suivante:
curl -XPOST 'localhost:9200/prototype_2013.01.02/chow-clfg/Nx4JcvyxTPujkyy0Jq5BNw/_update' -d '{"script":"ctx._source.chow-clfg.count+=num","params":{"num":1}}'
Cependant j'ai reçu l'erreur suivante à la place:
{"error":"RemoteTransportException[[Vesta][inet[/10.15.78.249:9300]][update]]; nested: DocumentMissingException[[prototype_2013.01.02][0] [chow-clfg][Nx4JcvyxTPujkyy0Jq5BNw]: document missing]; ","status":404}
Qu'est-ce que j'ai fait exactement qui manque? Je suivais les documents au http://www.elasticsearch.org/guide/reference/api/update.html et pourtant cela ne fonctionne pas.
Aussi, j'inclus le champ parent:
curl -XPOST 'localhost:9200/prototype_2013.01.02/chow-clfg/Nx4JcvyxTPujkyy0Jq5BNw/_update' -d '{"parent":"chow-demo","script":"ctx._source.chow-clfg.count+=num","params":{"num":1}}'
Et il ne fonctionne toujours pas. Tout le monde peut m'aider avec cette erreur?
Etes-vous sûr le document que vous essayez de mettre à jour existe-t-il? –
Certainement; ça devait exister. D'une certaine manière, la documentation ne montre pas vraiment la syntaxe de la manière dont elle devrait être indexée clairement. Ou je pourrais avoir mal lu la documentation. –
Essayez: 'curl -XGET 'localhost: 9200/prototype_2013.01.02/chow-clfg/Nx4JcvyxTPujkyy0Jq5BNw'', quelle est la sortie? . En outre, vous utilisez 'ES 0.19 +', non? –