データベースからフィルタリングされたデータを取得して JSON または XML に変換できるように、Apache Solr 検索サーバーを mysql サーバーに接続したいと考えています。
4 に答える
ステップ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のエンティティーでトランスフォーマーを作成できます。トランスはここで説明されています
http://wiki.apache.org/solr/DataImportHandler#Oracle_Exampleを参照し、データソースを構成し、data-config.xml を構成できます。
私が過去に行った方法では、インデックス作成スクリプトを作成するだけでした。スクリプトは夜間のプロセスとして実行され、検索インデックスに追加する mySQL データを抽出し、関連する検索結果を表示するために solr が必要とするすべての情報を指定します。
さらに、データベースの更新時にインデックス アイテムを追加できます。たとえば、新しいユーザーが作成された場合は、新しいインデックス アイテムを挿入するコードを登録スクリプトに追加します。
これは非常に迅速かつ簡単に実行できます。solr のドキュメントは非常に優れています。
http://lucene.apache.org/solr/4_1_0/tutorial.html
お役に立てれば。