2013-08-21 107 views
3

我是solrmongodb的新用戶。我在mongodb中創建了數據庫和集合。如何在solr 4中導入和索引mongodb數據

現在我想爲solr中的mongodb集合導入並編制索引,用於要在數據庫中搜索大量數據的應用程序。我在互聯網上搜索了很多,但我沒有得到滿意的信息。任何人都可以通過步驟告訴如何在solr中進行索引編制嗎?

以下是我創建的集合:

db.stud.find().pretty() 

{ "_id" : 1, "roll" : 59, "name" : "sachin", "class" : "MCA" } 
{ "_id" : 2, "roll" : 57, "name" : "jay", "class" : "MCA" } 
{ "_id" : 3, "roll" : 101, "name" : "akash", "class" : "BCA" } 
{ "_id" : 4, "roll" : 11, "name" : "amit", "class" : "MCS" } 
{ "_id" : 5, "roll" : 55, "name" : "shiv", "class" : "MCA" } 

以下是我的數據-config.xml文件,請告訴我,如果我做了任何錯誤:

<dataConfig> 
    <dataSource name="MyMongo" type="MongoDataSource" database="sachin" /> 
    <document name="Products"> 
     <entity processor="MongoEntityProcessor" 
       query="{'Active':1}" 
       collection="stud" 
       datasource="MyMongo" 
       transformer="MongoMapperTransformer" > 
      <field column="_id"   name="_id"  mongoField="_id"/> 
      <field column="roll"  name="roll" mongoField="roll"/> 
      <field column="name"   name="name" /> 
     <field column="class"   name="class" /> 

     </entity> 
    </document> 
</dataConfig> 

我的數據庫名稱爲「薩欽」。

我對如何定義schema.xml文件以及它應該根據我的數據庫模式修改的內容感到困惑。以下是我已經在schema.xml中完成的改變:我solrconfig.xml中的文件已經取得

<uniqueKey>_id</uniqueKey> 
     <schema name="MongoEX" version="1.1"> 
     <fields> 

     <field name="_id" type="string" indexed="true" stored="true" /> 
     <field name="roll" type="sint" indexed="true" stored="true" /> 
     <field name="name" type="string" indexed="true" stored="true" /> 
     <field name="class" type="string" indexed="true" stored="true" /> 
     </fields> 

變化貌似以下:

<lib dir="../../../../dist/" regex="solr-dataimporthandler-.*\.jar" /> 
    <lib dir="../../../dist/" regex="mongo-2.10.1.jar" /> 
    <lib path="../../../dist/mongo-connector-1.1.1.jar"/> 
    <lib path="../../../dist/solr-dataimporthandler-4.4.0.jar"/> 

    <requestHandler name="/sqldataimport" 
     class="org.apache.solr.handler.dataimport.DataImportHandler"> 
     <lst name="defaults"> 
      <str name="config">/home/ubuntucomp/Music/solr-4.4.0/example/example-DIH/solr/MongoEX /conf/data-config.xml</str> 
     </lst> 
     </requestHandler> 

請告訴我什麼錯誤我已經取得以上所有文件,以便我可以索引mongodb。

預先感謝您。 。

+0

你試過什麼?您必須將您的MongoDB數據寫入Solr XML文件,然後對Solr本身執行soft_commit或完全提交。這真的很簡單,並且在所有數據庫中應用相同。 – Sammaye

+0

查看[設置Solr4數據導入處理程序](http://amac4.blogspot.com/2013/08/configuring-solr-4-data-import-handler.html) –

+0

@Sammaye能否再次解釋步驟,因爲我我也面臨同樣的問題 –

回答