4

データベースからフィルタリングされたデータを取得して JSON または XML に変換できるように、Apache Solr 検索サーバーを mysql サーバーに接続したいと考えています。

4

4 に答える 4

12

ステップ1:新しいxmlファイルdb-data-config.xmlを作成し、次のコンテンツを配置します。

    <dataConfig>
    <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://`localhost`/database_name" user="" password=""/>
    <document>
    <entity name="table_name" query="select * from table_name" >
    <field name="solr_field_map" column="table_column_name" />
    <field name="name" column="name" />
    </entity>
    <entity name="emp" query="select id from emp">
<field name="id" column="id" />
    </entity>
    </document>
    </dataConfig>

ステップ2:solrconfig.xmlに、以下を追加します。

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

ステップ3:コマンドを使用して、mysqlソースからsolrにデータをインポートします。

http:// localhost:8983 / solr / db / dataimport?command = full-import

solrにインデックスを付ける前にフィールドを変更する場合は、db-data-config.xmlのエンティティーでトランスフォーマーを作成できます。トランスはここで説明されています

于 2013-02-27T07:37:23.993 に答える
2

http://wiki.apache.org/solr/DataImportHandler#Oracle_Exampleを参照し、データソースを構成し、data-config.xml を構成できます。

于 2013-02-26T08:49:28.823 に答える
1

私が過去に行った方法では、インデックス作成スクリプトを作成するだけでした。スクリプトは夜間のプロセスとして実行され、検索インデックスに追加する mySQL データを抽出し、関連する検索結果を表示するために solr が必要とするすべての情報を指定します。

さらに、データベースの更新時にインデックス アイテムを追加できます。たとえば、新しいユーザーが作成された場合は、新しいインデックス アイテムを挿入するコードを登録スクリプトに追加します。

これは非常に迅速かつ簡単に実行できます。solr のドキュメントは非常に優れています。

http://lucene.apache.org/solr/4_1_0/tutorial.html

お役に立てれば。

于 2013-02-26T08:46:39.800 に答える