2011-07-11 12 views
7

मेरे पास अपाचे सोलर 1.4 का उपयोग कर मौजूदा इंडेक्स बिल्ड है।सोलर 1.4 सूचकांक को हल करने के लिए 3.3 त्रुटि?

मैं इस मौजूदा इंडेक्स को संस्करण 3.3 में उपयोग करना चाहता हूं। जैसा कि आप जानते हैं कि इंडेक्स प्रारूप 3.x के बाद बदल गया है, तो यह कैसे करना संभव है?

मैंने ल्यूक से एक्सएमएल का उपयोग कर मौजूदा इंडेक्स (1.4 संस्करण में है) निर्यात किया है।

उत्तर

7

दो तरीके यह करना है:

  1. अगर आपके सूचकांक unoptimized है, तो बस यह अनुकूलन - इस रास्ते में फ़ाइल स्वरूप अपग्रेड कर देंगे।

  2. यदि आपकी अनुक्रमणिका पहले से ही अनुकूलित है, तो आप यह नहीं कर सकते हैं। इसके बजाय, Solr के साथ आपूर्ति की कमांड लाइन उपकरण का उपयोग (अपने पथ से अलग हो सकता है मेरा

    java -cp work/Jetty_0_0_0_0_8983_solr.war__solr__k1kf17/webapp/WEB-INF/lib/lucene-core-3.3.0.jar org.apache.lucene.index.IndexUpgrader -verbose /path/to/index/directory 
    

हालांकि, ध्यान दें कि यह केवल फ़ाइल स्वरूप बदल जाता है - यह प्रतिवाद चेतावनी बंद नहीं होगा क्योंकि जब तक आप इसे बताने अन्यथा, solrconfig.xml चूक अभी भी यह सोचते हैं करने के लिए आप एक पुराने सूचकांक प्रारूप उपयोग कर रहे हैं http://www.mail-archive.com/[email protected]/msg23233.html

आप अभी भी अपने लॉगफ़ाइल में इस तरह लाइनों के बहुत सारे मिल सकता है:।

WARNING: LowerCaseFilterFactory is using deprecated LUCENE_24 emulation. You should at some point declare and reindex to at least 3.0, because 2.x emulation is deprecated and will be removed in 4.0 

जब तक आप solrconfig.xml नहीं बताते कि आप नए इंडेक्स प्रारूप की सभी सुविधाओं का उपयोग करने के लिए तैयार हैं। आप solrconfig.xml को निम्न जोड़कर ऐसा करते हैं (शीर्ष स्तर पर, abortOnConfigurationError सेटिंग के ठीक बाद)।

<!-- Controls what version of Lucene various components of Solr 
    adhere to. Generally, you want to use the latest version to 
    get all bug fixes and improvements. It is highly recommended 
    that you fully re-index after changing this setting as it can 
    affect both how text is indexed and queried. 
    --> 
<luceneMatchVersion>LUCENE_33</luceneMatchVersion> 
0

यदि आपके पास डेटा है: सबसे अच्छा तरीका सोलर 3.3 में सभी डेटा को अनुक्रमणित कर रहा है, तो आप अपनी निर्यात की गई एक्सएमएल फाइलों को इंडेक्स करने के लिए डेटा आयात हैंडलर का उपयोग कर सकते हैं।

तो एक नया सूचकांक का निर्माण आप के लिए एक समाधान नहीं है, तो आप अलग अलग संभावनाएं मिल गया है:

जहाँ तक मुझे पता है, Solr 3.3 वर्ष अनुक्रमित पढ़ सकते हैं। तो एक विचार shards का उपयोग कर सकता है। पुराने डेटा के लिए एक शार्ड (केवल पढ़ने के लिए) नए डेटा के लिए एक दूसरा शर्ड। दुर्भाग्यवश, इस समाधान में आप पुराने डेटा को संशोधित करने में असमर्थ होंगे।

+0

1.I वर्ष Schema.xml की नकल की (1.4 v) नए सर्वर (3.3) 2. मैं 3.3 में नया सूचकांक निर्देशिका के लिए पुराने सूचकांक की नकल की और सर्वर को पुनः आरंभ करने के लिए, सब कुछ ठीक हो गया! अजीब बात यह है कि मैंने 3.3 रिलीज नोट्स में कहीं पढ़ा है कि नई इंडेक्स संरचना पुराने लोगों के साथ संगत नहीं है ... वैसे भी, मुझे खुशी है कि चीजें ठीक हो गईं :) –

+0

"नई सूचकांक संरचना है पुराने लोगों के साथ संगत नहीं "... हाँ ... मुझे लगता है, यह सही है। लेकिन मुझे लगता है कि, आपकी 3.3 प्रणाली "संगतता मोड" जैसी कुछ चीज़ों में चल रही है और नए इंडेक्स प्रारूप का उपयोग नहीं करती है। शायद, आपकी अनुक्रमणिका अभी भी 1.4 है, जो ल्यूसीन 4 में समर्थित नहीं है - अगर आप भविष्य में अपग्रेड के बारे में सोचते हैं। –

+0

आप सही हैं, लेकिन अपग्रेड कैसे करें? यह मेरा मुख्य सवाल था। –