Je me demande si Elastica ou ElasticSearch permettent de supprimer un seul champ de tous les documents d'un index donné. J'ai trouvé la manière correcte de le faire dans l'API REST, mais en essayant de l'utiliser, cela donne une erreur de syntaxe.Elastica ou ElasticSearch supprime le champ de tous les documents
j'ai écrit
curl -XPOST localhost:9200/products/product/O2bMZYRek5/_update -d '{
"script": "ctx._source.remove("Color")"
}'
qui est retourné
{"error":"JsonParseException[Unexpected character ('C' (code 67)): was expecting comma to separate OBJECT entries\n at [Source: [[email protected]; line: 2, column: 32]]","status":500}
Je trouve la solution par l'intermédiaire bash boucle -XPOST 'localhost: 9200/produits/produits/3zknrSRtMj/_update' -d « { "script": "ctx._source.remove (\" color \ ")" } ' Mais maintenant j'ai besoin de le réaliser dans Elastica lib – 1nstinct
Dans votre exemple, la citation escape est manquante dans '" Color "' (devrait être '\" Color \ "'). Il est présent dans le commentaire ci-dessus, où vous utilisez 'curl'. C'est pourquoi l'analyseur se plaint d'attendre une virgule après 'remove (" '. – dhill