2013-06-09 12 views
6

मेरे पास लगभग 200 एम दस्तावेज़ों के साथ एक लोचदार खोज सूचकांक है, कुल सूचकांक आकार 90 जीबी है।जल्दी से लोचदार खोज कैसे करें?

मैंने मानचित्रण बदल दिया, इसलिए मैं सभी दस्तावेजों को फिर से सूचीबद्ध करने के लिए लोचदार खोज चाहता हूं।

मैंने एक ऐसी स्क्रिप्ट लिखी जो एक नई अनुक्रमणिका (नए मैपिंग के साथ) बनाता है, फिर पुरानी अनुक्रमणिका में सभी दस्तावेजों पर चला जाता है और फिर इसे नए में डाल देता है।

ऐसा लगता है, लेकिन समस्या यह है कि यह बेहद धीरे-धीरे काम करता है। दो दिन पहले 300 दस्तावेज/मिनट के साथ शुरू हुआ, और अब गति 150 दस्तावेज/मिनट है।

लिपि में लोचदार खोज मशीनों एक ही नेटवर्क के भीतर एक मशीन पर चलता है।

ऐसी गति के साथ

यह फिर से सूचकांक समाप्त करने के लिए के लिए एक महीने की आवश्यकता होगी।

क्या किसी को लोचदार खोज सूचकांक को फिर से अनुक्रमित करने के लिए कुछ तेज तकनीक के बारे में पता है?

उत्तर

4

गूगल समूहों में उत्तर दिया:।

विकल्प A: उपयोग थोक सूचकांक आपरेशनों।

विकल्प बी: उपयोग फिर से सूचकांक प्लग-इन जो ES मशीन के अंदर चलाता है: https://github.com/karussell/elasticsearch-reindex

0

Elasticsearch के साथ रीइंडेक्स करने का उचित तरीका scan और scroll एपीआई का उपयोग करना है, जिसे पायस द्वारा समर्थित किया जाना चाहिए।

ऐसा लगता है कि पायस लाइब्रेरी में reindex विधि है, लेकिन मुझे इसके साथ अनुभव नहीं है।

(आप अजगर से अधिक रूबी का उपयोग कर :) खत्म होने चाहते हैं, तो टायर रूबी ग्राहक एक Index#reindex विधि है: https://github.com/karmi/tire/blob/master/test/integration/reindex_test.rb। यह अपने डेटा के लिए काफी तेजी से होना चाहिए)

+0

धन्यवाद कर्मी! क्या आपके पास कोई अनुमान है कि 90 जीबी (200 एम दस्तावेज) की अनुक्रमणिका पर ऐसा ऑपरेशन करने के लिए अपेक्षित समय क्या होना चाहिए? – diemacht

+0

यह इस बात पर निर्भर करता है कि आप ऑपरेशन को पैरालाइज़ करने में सक्षम होंगे या नहीं। Elasticsearch सुंदर उच्च लेखन लोड संभाल सकता है, लेकिन reindexing स्क्रिप्ट आमतौर पर बाधा है। डेटा के केवल हिस्से को रेइन्डेक्स करने का प्रयास करें, और एक्सट्रापोलेट करें - स्कैन/स्क्रॉल एपीआई का प्रदर्शन समय के साथ "क्षय" नहीं होना चाहिए। – karmi

+2

ऐसा प्रतीत होता है कि टायर को हटा दिया गया है। लोचदार अब सूचियों को यहां ग्राहकों की सिफारिश करता है: https://github.com/elastic/elasticsearch-rails – spuder

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