मैं एक मोंगोमैपर मॉडल पर खोज कार्यक्षमता प्रदान करने के लिए टायर और लोचदार खोज का उपयोग कर रहा हूं, जो रेल ऐप का हिस्सा है। मैं सिर्फ एक समस्या का सामना करना ठोकर खाई जहां इस मॉडल के लिए मैपिंग अपडेट किया जा रहा नहीं कर रहे थे जब मैं एक वातावरण निम्नलिखित विन्यास का उपयोग करता है (config/वातावरण/env_name.rb में) करने के लिए पुन: वितरित:एक मॉडल के लिए टायर/लोचदार खोज मैपिंग को पुनः लोड करना, जिसमें पहले से ही डेटा संग्रहीत किया गया है
config.cache_classes = true
वर्ग अकेले didn पुन: लोड इस मुद्दे को ठीक करने के लिए प्रतीत नहीं होता है (शायद समझ में, नए मैपिंग मौजूदा डेटा के साथ असंगत नहीं हो सकता है?)। इसके बजाय मुझे निम्नलिखित करना पड़ा:
MyModel.index.delete
<restart the app or reload the class>
MyModel.index.import MyModel.all
मुझे आश्चर्य हुआ कि क्या कोई बेहतर तरीका है)। मेरे मॉडल कोड में परिभाषित नवीनतम मैपिंग को प्रत्येक तैनाती के बाद elasticsearch द्वारा उपयोग किया जा रहा है लेकिन बी)। पूरी डेटासेट के साथ इंडेक्स को अनावश्यक रूप से दोबारा हटाने से बचें?
हम आम तौर पर शेफ का उपयोग करके तैनात करते हैं, इसलिए मैं तीन चरणों को स्वचालित कर सकता हूं जिन्हें मैंने बिना किसी परेशानी के सफलतापूर्वक उपयोग किया। लेकिन मैं लोचदार और टायर के लिए नया हूं इसलिए मैंने सोचा कि यह अत्यधिक संभावना है कि मैं दोनों का दुरुपयोग कर रहा हूं या चीजों को अनावश्यक रूप से कठिन बना रहा हूं।
संग्रहीत डेटा नहीं, मैं आपके पिछले अनुच्छेद से थोड़ा उलझन में था, मुझे समझ में नहीं आता कि आप शहर से बचने के लिए किसी अन्य इंडेक्स में उपनाम का उपयोग कैसे कर सकते हैं। परिदृश्य में आपने वर्णित किया है कि मेरी इंडेक्स के खिलाफ खोज नहीं करेगा, केवल मेरी इंडेक्स-2012-12 के खिलाफ चलने के दौरान इसे फिर से अनुक्रमित किया जाएगा? – concept47
विवरण प्रतिक्रिया के लिए धन्यवाद। मैं इसे सही के रूप में चिह्नित करने जा रहा हूं, क्योंकि मुझे कोई विकल्प नहीं मिल रहा है। ऐसा लगता है कि उत्तर की जिंदगी है कि आपको अपने परिदृश्य में डेटा को दोबारा अनुक्रमणित करने की आवश्यकता होगी, और आप इस परिदृश्य में डाउनटाइम से बचने के लिए लोचदार खोज उपनाम का उपयोग कर सकते हैं।लोचदार खोज उपनामों पर अधिक जानकारी के साथ लिंक यहां दिया गया है: http://www.elasticsearch.org/guide/reference/api/admin-indices-aliases.html टायर जिथब पेज अब इसके लिए लिंक करता है और इसमें इंडेक्स उपनामों पर जानकारी है – willjthomas
@ concept47 टायर गिथब पेज के मुताबिक: आप अपने डेटा को एक नए इंडेक्स में इंडेक्स कर सकते हैं (और सब कुछ ठीक होने के बाद संभवतः उपनाम अपडेट करें)। तो आप मौजूदा इंडेक्स को फिर से नहीं बनाते हैं, आप एक नया संस्करण बनाते हैं और फिर उपनाम फ्लिप करते हैं। अगर मैं गलत हूं तो कृपया मुझे सही करें – willjthomas