2011-08-30 8 views
5

क्या solr schema.xml पढ़ने के लिए कोई solr api है? कारण मुझे इसकी आवश्यकता है कि सोलर पहलू पिछड़ा संगत नहीं है। यदि सूचकांक फ़ील्ड ए को परिभाषित नहीं करता है, लेकिन प्रोग्राम फ़ील्ड ए के लिए पहलू उत्पन्न करने का प्रयास करता है, तो सभी पहलू विफल हो जाएंगे। इसलिए मुझे रनटाइम में जांचना होगा कि हमारे पास इंडेक्स में इंडेक्स फ़ील्ड क्या हैं और पहलुओं को गतिशील रूप से उत्पन्न करते हैं।क्या सोलर में solr schema.xml पढ़ने के लिए एपीआई है?

उत्तर

3

आप http://localhost:8983/solr/admin/file/?contentType=text/xml;charset=utf-8&file=schema.xml

यह कच्चे एक्सएमएल के साथ स्कीमा प्राप्त कर सकते हैं, तो यह पार्स करने के लिए आवश्यक जानकारी प्राप्त करने के लिए है।

हालांकि, यदि आपका प्रोग्राम एक अवैध पहलू उत्पन्न करता है, तो शायद आपको इसके आसपास काम करने की बजाय प्रोग्राम को ठीक करना चाहिए।

+0

खुराक Solr इसे पढ़ने के लिए एपीआई है? मैंने देखा कि solrconf.xml पढ़ने के लिए एपीआई उपलब्ध है। हालांकि मुझे schema.xml –

+0

@Qing झांग के लिए कोई नहीं मिल रहा है: आपका क्लाइंट प्लेटफ़ॉर्म क्या है? –

+0

api के माध्यम से solrconf.xml को कैसे पढ़ा जाए, दस्तावेज़ के लिए कोई लिंक? मैंने खोजने की कोशिश की, लेकिन इसे खोजने में असमर्थ। – Krunal

3

एक विकल्प LukeRequestHandler का उपयोग करना है। यह Luke उपकरण के बाद मॉडलिंग किया गया है जिसका उपयोग लुसीन इंडेक्स की सामग्री का निदान करने के लिए किया जाता है। क्वेरी/व्यवस्थापक/ल्यूक? शो = स्कीमा, आपको स्कीमा दिखाएगी। हालांकि, अगर आप इतने तरह solrconfig.xml में इसे परिभाषित करने की आवश्यकता होगी: LukeRequestHandler की

<requestHandler name="/admin/luke" class="org.apache.solr.handler.admin.LukeRequestHandler" /> 

प्रलेखन link

3

Solr 4.2 के बाद से स्कीमा REST API का आप के साथ स्कीमा प्राप्त कर सकते हैं:

http://localhost:8983/solr/schema 

या एक कोर नाम के साथ:

http://localhost:8983/solr/mycorename/schema 

Solr के बाद से 4.4 आप अपनी स्कीमा भी संशोधित कर सकते हैं।

more details on the Solr Wiki page

1

वास्तव में आप उस के लिए स्कीमा एपीआई की है। Solr स्कीमा एपीआई एक बाकी एपीआई का उपयोग कर Schema.xml के बारे में जानकारी प्राप्त करने के लिए अनुमति देता है

Solr 4.2 और 4.3 में, यह केवल अनुमति देता है प्राप्त (केवल पढ़ने के लिए) का उपयोग कर सकते हैं, लेकिन Solr 4.4 में, नए क्षेत्रों और copyField निर्देशों स्कीमा में जोड़ा जा सकता है। भविष्य Solr विज्ञप्ति अधिक स्कीमा तत्वों को अपडेट करने की

एपीआई प्रवेश बिंदुओं

/collection/schema: retrieve the entire schema 
/collection/schema/fields: retrieve information about all defined fields, or create new  fields with optional copyField directives 
/collection/schema/fields/name: retrieve information about a named field, or create a new named field with optional copyField directives 
/collection/schema/dynamicfields: retrieve information about dynamic field rules 
/collection/schema/dynamicfields/name: retrieve information about a named dynamic rule 
/collection/schema/fieldtypes: retrieve information about field types 
/collection/schema/fieldtypes/name: retrieve information about a named field type 
/collection/schema/copyfields: retrieve information about copy fields, or create new copyField directives 
/collection/schema/name: retrieve the schema name 
/collection/schema/version: retrieve the schema version 
/collection/schema/uniquekey: retrieve the defined uniqueKey 
/collection/schema/similarity: retrieve the global similarity definition 
/collection/schema/solrqueryparser/defaultoperator: retrieve the default operator 

उदाहरण

इनपुट सभी क्षेत्रों की एक सूची प्राप्त अनुमति देने के लिए इस कार्यक्षमता का विस्तार होगा।

curl http://localhost:8983/solr/collection1/schema/fields?wt=json 

इनपुट JSON में पूरी स्कीमा प्राप्त करें।

curl http://localhost:8983/solr/collection1/schema?wt=json 

अधिक जानकारी here: apache-solr-ref-guide-4.5.pdf (स्कीमा एपीआई के लिए खोज)

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