2016-04-29 7 views
5

मैं सोलर के लिए काफी नया हूं और अपना पहला उदाहरण कोर स्थापित करने में त्रुटि प्राप्त कर रहा हूं। मैं व्यवस्थापक डैशबोर्ड के तहत नया कोर जोड़ने की कोशिश कर रहा हूं लेकिन मुझे संस्करण फ़ील्ड के बारे में त्रुटि प्राप्त हो रही है।सोलर - _version_ फ़ील्ड स्कीमा में मौजूद होना चाहिए और खोजने योग्य

क्या इसके लिए कोई कामकाज है?

पृष्ठभूमि:

  • ओएस: विंडोज
  • Solr फ़ोल्डर: C: \ Solr-6.0.0
  • कोर व्यवस्थापक यूआरएल: http://localhost:8984/solr/#/~cores
  • फ़ोल्डर के लिए बनाया गया new_core: सी: \ solr-6.0.0 \ server \ solr \ new_core
  • त्रुटि: त्रुटि CREATEing SolrCore 'new_core': (या संग्रहीत docValues) _version_ क्षेत्र स्कीमा में (docValues ​​अनुक्रमित या) मौजूद हैं और उन्हें खोजा होना चाहिए तथा पुनः प्राप्त किया और बहु-मूल्यांकित नहीं (_version_ करता है: बनाने के लिए कोर [new_core] वजह से असमर्थ मौजूद नहीं)

स्कीमा Xml:

<?xml version="1.0" encoding="UTF-8" ?> 

<!-- 
For fts-solr: 

This is the Solr schema file, place it into solr/conf/schema.xml. You may 
want to modify the tokenizers and filters. 
--> 
<schema name="dovecot" version="1.1"> 
    <types> 
    <!-- IMAP has 32bit unsigned ints but java ints are signed, so use longs --> 
    <fieldType name="string" class="solr.StrField" omitNorms="true"/>    
    <fieldType name="boolean" class="solr.BoolField" omitNorms="true"/> 
    <fieldType name="long" class="solr.LongField" omitNorms="true"/> 

    <fieldType name="text" class="solr.TextField" positionIncrementGap="100"> 
     <analyzer type="index"> 
     <tokenizer class="solr.WhitespaceTokenizerFactory"/>  
     <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0"/> 
     <filter class="solr.LowerCaseFilterFactory"/>   
     <filter class="solr.RemoveDuplicatesTokenFilterFactory"/> 
     </analyzer> 
     <analyzer type="query"> 
     <tokenizer class="solr.WhitespaceTokenizerFactory"/>     
     <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0"/> 
     <filter class="solr.LowerCaseFilterFactory"/>   
     <filter class="solr.RemoveDuplicatesTokenFilterFactory"/> 
     </analyzer> 
    </fieldType> 
</types> 


<fields> 
    <field name="_version_" type="long" indexed="true" stored="true" multiValued="false"/> 
    <field name="id" type="string" indexed="true" stored="true" required="true" />  
    <field name="box" type="string" indexed="true" stored="true" required="true" /> 
    <field name="user" type="string" indexed="true" stored="true" required="true" /> 
    <field name="ns" type="string" indexed="true" stored="true" required="false" /> 
    <field name="last_uid" type="boolean" indexed="true" stored="false" /> 
    <field name="hdr" type="text" indexed="true" stored="false" /> 
    <field name="body" type="text" indexed="true" stored="false" /> 
</fields> 

<uniqueKey>id</uniqueKey> 
<defaultSearchField>body</defaultSearchField> 
<solrQueryParser defaultOperator="AND" /> 
</schema> 

स्क्रीन शॉट:

enter image description here

+0

क्या आप _version _.. से _ को हटाकर देख सकते हैं? पुनरारंभ करने के बाद सौर सर्वर –

+0

मैंने बस

उत्तर

2

आपकी स्कीमा बहुत सोलर के पुराने संस्करण के लिए एक उदाहरण से आई है। आपको या तो सोलर के संस्करण का उपयोग करने की आवश्यकता है जिसे डोवकोट के उस संस्करण के साथ अनुशंसित किया गया है या इसे नई आवश्यकताओं में समायोजित करने की आवश्यकता है।

अपनी स्कीमा को the basic example schema पर तुलना करें जो कि सोलर 6 के साथ आता है।

  1. स्कीमा संस्करण अब 1.6 पर निर्भर है (तुम्हारा 1.1 है)
  2. प्रकार और क्षेत्रों बाहरी टैग अब जरूरत और तुम सिर्फ सूची प्रकार/क्षेत्र में कर रहे हैं: वहाँ काफी मतभेद की एक संख्या है किसी भी क्रम आप चाहते हैं
  3. defaultSearchField और solrQueryParser दोनों माना जाता है not recommended anymore और solrconfig.xml में अनुरोध हैंडलर विन्यास में ले जाया जाना चाहिए

आपका फ़ील्ड नाम _version_ भी होना चाहिए (अंडरस्कोर के साथ)। उनको हटाने के बारे में आपको जो सलाह मिली है वह स्टैक ओवरफ्लो फॉर्मेटिंग (अंडरस्कोर को इटैलिक में कनवर्ट करना) के कारण है ...

क्या आपको पुनरारंभ करने के बाद कोई त्रुटि मिल रही है? या कुछ भी नहीं। नए सोलर के साथ, कोर को सौर घर के नीचे होना चाहिए (आपका लगता है) और core.properties फ़ाइल रखने की आवश्यकता है। अगर आपको सृजन के दौरान कोई त्रुटि मिली है, तो हो सकता है कि वह फ़ाइल बनाई गई हो और सर्वर को पुनरारंभ नहीं किया जा सकता है, वैसे भी संग्रह/कोर को नोटिस नहीं कर सकता है। बस सुनिश्चित करें कि आप हर बार एक ही चरण दोहरा रहे हैं (जैसे कोर बनाना/पंजीकरण करना) हर बार जब आप अपने परिवर्तनों का परीक्षण कर रहे हों।

2

मैं एक समाधान जोड़ना चाहता हूं जिसने मुझे यहां मदद की; सोलर आपकी कॉन्फ़िगरेशन फ़ाइल की एक प्रति बनाता है और [core name]/conf/ फ़ोल्डर में managed-schema नामक फ़ोल्डर डालता है। अपनी स्कीमा फ़ाइल को संपादित करने के बाद इस फ़ाइल को निकालना सुनिश्चित करें, या फिर आपके परिवर्तनों का पता नहीं लगाया जाएगा, क्योंकि सोलर मूल schema.xml फ़ाइल की बजाय प्रतिलिपि का उपयोग करने लगते हैं।

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