2012-02-08 11 views
5

क्या एकाधिक कोर के बीच schema.xml में परिभाषित सोलर fieldType एस साझा करना संभव है?एकाधिक कोर के बीच सौर फ़ील्ड प्रकार कैसे साझा किए जा सकते हैं?

मेरे पास सोलर में कई कोर हैं और मुझे fieldType एस को फिर से परिभाषित करना है जो केवल अंतर्निहित फ़िल्टर और टोकननाइज़र पर आधारित हैं। जैसे

<fieldType name="exact" class="solr.TextField" positionIncrementGap="100"> 
    <analyzer type="index"> 
     <filter class="solr.LowerCaseFilterFactory"/> 
     <tokenizer class="solr.KeywordTokenizerFactory"/> 
    </analyzer> 
    <analyzer type="query"> 
     <filter class="solr.LowerCaseFilterFactory"/> 
     <tokenizer class="solr.KeywordTokenizerFactory"/> 
    </analyzer> 
</fieldType> 

मैं मैं अपने Field वर्ग लिख सकते हैं और कोर के बीच इस का हिस्सा है, लेकिन यह जब कस्टम कोड केवल मानक फ़िल्टर कॉन्फ़िगर किया जाएगा कस्टम कोड पर निर्भरता बनाने के लिए मूर्खतापूर्ण लगता है। क्या कोई बेहतर तरीका है?

ध्यान दें कि उपरोक्त उदाहरण कुछ अन्य लोगों की तुलना में सरल है (जो स्टॉप शब्द और चरित्र रूपांतरण आदि को कॉन्फ़िगर करते हैं)।

उत्तर

1

मुझे कोर के बीच फ़ील्ड टाइप करने के तरीके के बारे में पता नहीं है। हालांकि, अगर आपके कोर में सभी एक ही स्कीमा (जैसे समान फ़ील्ड और फ़ील्ड टाइप) हैं, तो आप इसे एकाधिक कोर के बीच साझा कर सकते हैं और केवल एक ही स्थान पर स्कीमा को अपडेट करने की आवश्यकता है। सेटअप विवरण के लिए कृपया इस सोलर उपयोगकर्ता मेलिंग सूची पोस्ट को देखें: Sharing Schema with multiple cores

+0

धन्यवाद, दुर्भाग्यवश वे एक ही फ़ील्ड साझा नहीं करते हैं। – beerbajay

+1

https://issues.apache.org/jira/browse/SOLR-3087?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel देखें यदि यह तय किया गया है तो यह करना संभव होगा। तो शायद अंततः;) – mrmuggles

2

एक फ़ील्ड साझा करना schema.xml में "सामान्य" परिभाषाओं की तरह टाइप करें, एकाधिक कोरों में solrconfig.xml XInclude का उपयोग कर संभव है।

<?xml version="1.0" encoding="UTF-8" ?> 
<!-- common-types.xml --> 
<types> 
<fieldType name="exact" class="solr.TextField" positionIncrementGap="100"> 
    <analyzer type="index"> 
     <filter class="solr.LowerCaseFilterFactory"/> 
     <tokenizer class="solr.KeywordTokenizerFactory"/> 
    </analyzer> 
    <analyzer type="query"> 
     <filter class="solr.LowerCaseFilterFactory"/> 
     <tokenizer class="solr.KeywordTokenizerFactory"/> 
    </analyzer> 
</fieldType> 
</types> 

और नीचे की तरह अपने Schema.xml में इसका इस्तेमाल करते हैं:

<schema version="1.1"> 
    <types> 
    <!-- Other types here --> 
    </types> 
    <xi:include href="file:/path/to/common-types.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include> 
</schema> 

सूचना: शामिल एक्सएमएल फ़ाइल एक भी रूट नोड होना चाहिए।

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

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