Mise à jour du document indexé dans Elasticsearch
Je suis en train d'essayer de comprendre comment vous mettez à jour un document indexé dans Elasticsearch. Je ne comprends pas comment il fonctionne? Qu'est-ce que le ctx
que l'API est en se référant à faire? Disons que vous avez un document avec des documents imbriqués, qu'avez vous à faire pour le mettre à jour?
Et quelle est la différence entre supprimer le document, puis l'indice de la "mise à jour" version, vs une simple mise à jour?
source d'informationauteur LuckyLuke | 2013-03-30
Vous devez vous connecter pour publier un commentaire.
La demande de mise à jour de récupérer la source d'elasticsearch, les modifie et les indices de nouveau à elasticsearch. Si vous avez déjà une copie du document à l'aide de mise à jour que peu de sens. Il serait généralement plus rapide de l'indice de la nouvelle version. Toutefois, si vous n'avez pas le document facilement disponibles mais vous savez quels changements que vous aimeriez apporter au document, il peut être plus efficace d'utiliser la fonction de mise à jour. Par exemple, si je n'ai pas de copie du document de voiture, mais je veux ajouter un nouveau créateur, je peux faire quelque chose comme ceci:
Dans le script de mise à jour
ctx
est une variable spéciale qui vous permet d'accéder à la source de l'objet que vous voulez mettre à jour. Lectx._source
est accessible en écriture de la version de la source. Vous pouvez modifier ce document dans le script et la source modifié sera conservé en tant que la nouvelle version du document.