3

私はsolrと の新しいユーザーですmongodb。でデータベースとコレクションを作成しましたmongodb

今、データベース内の大量のデータを検索するアプリケーションのために、そのmongodbコレクションをインポートしてインデックスを作成したいと考えています。solrインターネットでいろいろ調べましたが、満足のいく情報が得られませんでした。誰でも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" }

以下は私のdata-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>

私のデータベース名は「sachin」です。

schema.xml ファイルを定義する方法と、データベース スキーマに従って変更する必要がある内容について混乱しています。以下は、私が schema.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>

solrconfig.xml ファイルで行った変更は次のようになります。

 <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 にインデックスを付けることができます。

前もって感謝します。.

4

2 に答える 2

1

あなたはquery="{'Active':1}"、スタッドコレクションにフィールド名のドキュメントがないと述べましたActive

DataImportHandler を使用して MongoDB と Solr を接続する手順に記載されている手順に従うことができます。

それが役立つことを願っています。

于 2015-01-22T17:01:04.600 に答える
0

新しい solr-mongodb コネクタを試しましたか?

http://blog.mongodb.org/post/29127828146/introducing-mongo-connector

https://github.com/10gen-labs/mongo-connector

于 2014-04-24T13:52:10.390 に答える