MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

DataImportHandler का उपयोग करके MongoDB और Solr को जोड़ने के चरण

जवाब देने में देर हो गई, हालांकि सोचा कि लोगों को यह उपयोगी लग सकता है।

DataImportHandler का उपयोग करके mongodb से Solr 4.7.0 में डेटा आयात करने के चरण नीचे दिए गए हैं।

चरण 1:

मान लें कि आपके Mongodb में निम्नलिखित डेटाबेस और संग्रह हैं

Database Name: Test
Collection Name: sample

sample संग्रह में निम्नलिखित दस्तावेज़ हैं

db.sample.find()
{ "_id" : ObjectId("54c0c6666ee638a21198793b"), "Name" : "Rahul", "EmpNumber" : 452123 }
{ "_id" : ObjectId("54c0c7486ee638a21198793c"), "Name" : "Manohar", "EmpNumber" : 784521 }

चरण 2:

एक lib बनाएं आपके सोलरहोम फोल्डर में फोल्डर (जिसमें bin . है) और collection1 फोल्डर)

नीचे जार फ़ाइलों को lib . में जोड़ें फ़ोल्डर। आप यहाँ से solr-mongo-importer डाउनलोड कर सकते हैं!

- solr-dataimporthandler-4.7.0.jar
- solr-mongo-importer-1.0.0.jar 
- mongo-java-driver-2.10.1.jar (this is the mongo java driver)

चरण 3:

स्कीमा.एक्सएमएल में सोलर फ़ील्ड घोषित करें (मान लिया गया कि आईडी पहले से ही डिफ़ॉल्ट रूप से परिभाषित है)

<fields> </fields> . के अंदर schema.xml में नीचे फ़ील्ड जोड़ें टैग।

 <field name="Name" type="text_general" indexed="true" stored="true"/>
 <field name="EmployeeNumber" type="int" indexed="true" stored="true"/>

चरण 4:

<config> </config> के अंदर नीचे दिए गए कोड को जोड़कर solrconfig.xml में डेटा-कॉन्फ़िगरेशन फ़ाइल घोषित करें टैग।

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">  
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>

चरण 5:

संग्रह1\conf\ पथ में डेटा-config.xml फ़ाइल बनाएं (जो डिफ़ॉल्ट रूप से solrconfig.xml और schema.xml रखता है)

data-config.xml

<?xml version="1.0"?>
<dataConfig>
<dataSource name="MyMongo" type="MongoDataSource" database="Test" />
<document name="import">
 <!-- if query="" then it imports everything -->
     <entity  processor="MongoEntityProcessor"
             query="{Name:'Rahul'}"
             collection="sample"   
             datasource="MyMongo"
             transformer="MongoMapperTransformer" name="sample_entity">

               <!--  If mongoField name and the field declared in schema.xml are same than no need to declare below.
                     If not same than you have to refer the mongoField to field in schema.xml
                    ( Ex: mongoField="EmpNumber" to name="EmployeeNumber"). -->                                              

           <field column="_id"  name="id"/>               
           <field column="EmpNumber" name="EmployeeNumber" mongoField="EmpNumber"/>                            
       </entity>
 </document>
</dataConfig>

चरण 6:

मान लें कि सोलर (मैंने पोर्ट 8080 का उपयोग किया है) और मोंगोडब चल रहे हैं, निम्न लिंक खोलें http://localhost:8080/solr/dataimport?command=full-import mongodb से solr में डेटा आयात करने के लिए अपने ब्राउज़र में।

आयातित फ़ील्ड _id, नाम और EmpNumber (MongoDB) आईडी, नाम और कर्मचारी संख्या (सोलर) के रूप में हैं।

आप परिणाम http://localhost:8080/solr/query?q=* में देख सकते हैं



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडब में संग्रहीत फ़ंक्शन को कॉल करें

  2. फ़ील्डपाथ फ़ील्ड नामों में '.' नहीं हो सकता है $group . में

  3. नोडज से मोंगोडब या नेवला के लिए गतिशील डेटाबेस कनेक्शन

  4. MongoDB में किसी विशिष्ट दस्तावेज़ के किसी सरणी के अंदर, विशिष्ट एम्बेडेड दस्तावेज़ का मान कैसे अपडेट करें?

  5. सी # में स्व-हस्ताक्षरित प्रमाणपत्रों के साथ मोंगोडीबी एसएसएल