webentwicklung-frage-antwort-db.com.de

Wie aktualisiere ich ein Dokument mit elasticsearch-py?

Hat jemand ein Beispiel für die Verwendung von Update? Es ist dokumentiert hier , aber die Dokumentation ist unklar und enthält kein funktionierendes Beispiel. Ich habe Folgendes versucht:

coll = Elasticsearch()
coll.update(index='stories-test',doc_type='news',id=hit.meta.id,
                body={"stanford": 1, "parsed_sents": parsed })

und ich verstehe

elasticsearch.exceptions.RequestError: 
TransportError(400, u'ActionRequestValidationException[Validation Failed: 1: script or doc is missing;]')

Ich möchte mit einem Teildokument aktualisieren, aber die Aktualisierungsmethode akzeptiert kein Argument mit dem Namen 'doc' oder 'document'.

37
Dan Hook

Sie sind fast da, Sie müssen nur Ihren Körper in ein "doc" -Feld einschließen. Die korrekte Art, ein teilweises Update mit elasticsearch-py durchzuführen, sieht folgendermaßen aus:

coll = Elasticsearch()
coll.update(index='stories-test',doc_type='news',id=hit.meta.id,
                body={"doc": {"stanford": 1, "parsed_sents": parsed }})
67
Val