2013-06-16 7 views
20

Elasticsearch विशेषज्ञों,elasticsearch कैसे सभी सूचकांक में प्रत्येक दस्तावेज़ में टाइमस्टैम्प फ़ील्ड जोड़ने के लिए?

मैं सिर्फ ElasticSearch बताने के लिए सभी दस्तावेजों है कि सभी सूचकांक (और सभी दस्तावेज़ प्रकारों) में जोड़ रहे हैं के लिए _timestamp क्षेत्र सम्मिलित करने के लिए एक आसान तरीका खोजने में असमर्थ किया गया है।

मैं विशिष्ट प्रकार के उदाहरण देखें: http://www.elasticsearch.org/guide/reference/mapping/timestamp-field/

और यह भी एक विशिष्ट प्रकार के लिए सभी सूचकांकों के लिए उदाहरण देखें (का उपयोग कर _all): http://www.elasticsearch.org/guide/reference/api/admin-indices-put-mapping/

लेकिन द्वारा इसे जोड़ने पर किसी भी दस्तावेज़ प्राप्त करने में असमर्थ हूँ इंडेक्स और प्रकार के बावजूद जोड़े गए सभी दस्तावेजों के लिए डिफ़ॉल्ट।

+0

https://www.elastic.co/guide/en/elasticsearch/reference/1.4/indices-create-index.html –

उत्तर

26

आप अपनी अनुक्रमणिका बनाते समय इसे प्रदान करके ऐसा कर सकते हैं।

$curl -XPOST localhost:9200/test -d '{ 
"settings" : { 
    "number_of_shards" : 1 
}, 
"mappings" : { 
    "_default_":{ 
     "_timestamp" : { 
      "enabled" : true, 
      "store" : true 
     } 
    } 
    } 
}' 

कि फिर स्वचालित रूप से सब सामान है कि आप सूचकांक में डाल के लिए एक _timestamp पैदा करेगा। फिर _timestamp फ़ील्ड का अनुरोध करते समय कुछ अनुक्रमणित करने के बाद इसे वापस कर दिया जाएगा।

+0

यह काम किया। धन्यवाद मार्कस। मैं इसे लेता हूं कि आप इसे सभी इंडेक्स के लिए वैश्विक सेटिंग के रूप में परिभाषित नहीं कर सकते हैं जो ठीक है। किसी भी व्यक्ति के लिए जो elasticsearch head plug-in का उपयोग करके इसे आजमा देना चाहता है, सुनिश्चित करें कि आप POST अनुरोध निर्दिष्ट करते हैं और प्राप्त नहीं करते हैं। –

+0

@Marcus - मैंने यह कोशिश की है। मैं अपने किबाना 3 विज़ुअलाइजेशन में _timestamp नहीं देख सकता जैसा कि मैं _id, _index और _type देखता हूं। कोई विचार क्यों है? – liv2hak

+1

याद रखें कि पूछताछ करते समय _timestamp को फ़ील्ड के रूप में अनुरोध किया जाना चाहिए। {"फ़ील्ड्स" जोड़ें: "_ टाइमस्टैम्प"}। –

6

Elasticsearch अनुक्रमणिका में शामिल होने दस्तावेजों के timestamps जोड़ने स्वचालित रूप से समर्थन करने के लिए हाल ही में (5.x) से documentation 2.0.0

में deprecated this feature इस्तेमाल किया, लेकिन:

_timestamp और _ttl क्षेत्रों पदावनत किया गया और अब हटा दिए गए हैं। _timestamp के लिए प्रतिस्थापन के रूप में, आपको आवेदन पक्ष पर वर्तमान टाइमस्टैम्प के साथ नियमित दिनांक फ़ील्ड पॉप्युलेट करना चाहिए।

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