2015-06-02 8 views
23

क्या किसी के पास अद्यतन का उपयोग करने के लिए कोई उदाहरण है? यह here दस्तावेज है, लेकिन दस्तावेज़ीकरण अस्पष्ट है और इसमें एक कामकाजी उदाहरण शामिल नहीं है। मैं निम्नलिखित की कोशिश की है:elasticsearch-py का उपयोग कर दस्तावेज़ को कैसे अपडेट करें?

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

और मैं

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

मिल रहा एक आंशिक दस्तावेज़ का उपयोग कर अद्यतन करने के लिए चाहते हैं, लेकिन अद्यतन विधि किसी भी तर्क नहीं ले करता है 'दस्तावेज़' या 'नामित दस्तावेज़ '।

उत्तर

41

आप लगभग वहां हैं, आपको बस अपने शरीर को "डॉक्टर" फ़ील्ड के अंदर संलग्न करने की आवश्यकता है। elasticsearch-py के साथ एक आंशिक अद्यतन करने का सही तरीका इस प्रकार है:

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

और क्या update_by_query API के साथ उपयोग इस करता है, तो :) कोई आईडी पैरामीटर मुझे लगता है कि वहाँ होना चाहिए .. या फिर? –

+2

कोई अलग नहीं है। अद्यतन-दर-क्वेरी एक बाहरी प्लगइन है, ऐसा कुछ नहीं जो elasticsearch-py लाइब्रेरी द्वारा समर्थित है। – Val

+0

क्या यह http अनुरोध के साथ python में update_by_query का उपयोग संभव है? –

संबंधित मुद्दे