SolrのMySQLデータベース接続
A、Solrの検索サーバー
1.solr概要
Solrの検索アプリケーションを構築するためのオープンソースの検索プラットフォームです。それはLuceneの上に構築された(全文検索エンジン)。Solrには、高速で拡張性の高いエンタープライズクラスです。Solrには非常に複雑な使用して構築されたアプリケーションは、高いパフォーマンスを提供することができます。
2.solrのダウンロードとインストール
Solrの公式ウェブサイトのアドレス:https://lucene.apache.org/solr/
3. Solrの前提条件
作成するために、コアの選択肢を追加し
てSolrのbinディレクトリに、ウィンドウシステムのCMD:コマンドを
cd E:\solr\solr-7.7.2\bin
//test 是我的文件夹名
solr create -c test
-
E:\ Solrの\ Solrの-7.7.2 \ distの( 瓶で私自身のディレクトリパス):Solrの-dataimporthandler-7.7.2.jarとSolrの-dataimporthandler-エキストラ-7.7.2.jar
Eにコピー:\ Solrの\ Solrの-7.7.2 \サーバー\ Solrの-webappの\ webappの\ WEB-INF \ libに( I独自のディレクトリ・パス) -
ダウンロード(自分Mavenのダウンロードによって)Eにコピーのmysql-コネクタ-javaの-5.1.30.jar:\ Solrの\ Solrの-7.7.2 \サーバー\ Solrの-webappの\ webappの\ WEB-INF \ libディレクトリに下に。
-
E:\ Solrの\ Solrの-7.7.2 Solrの下に\サーバー\ \テスト\ confディレクトリがされ、管理・スキーマファイル名はのschema.xmlに変更します
第二に、MySQLのデータベース接続
1.新しいデータ-config.xmlファイル
データ-config.xmlのデータベーステーブルの設定ファイルである
私のデータ-config.xmlの
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<!-- 数据库信息 -->
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/test"
user="root" password="123456"/>
<document>
<entity name="users" pk="id"
query="select * from users"
deltaQuery="select * from users where name > '${dataimporter.last_index_time}'">
<!-- 对应数据库表的字段 -->
<field column="name" name="name" />
<field column="age" name="age" />
</entity>
</document>
</dataConfig>
2. [変更solrconfig.xml
solrconfig.xmlの登録データ-config.xmlファイル情報:
<requestHandler name="/dataimport"
class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
3.変更のschema.xml
コンテンツの追加:
<field name="name" type="string" indexed="true" required="false" stored="true"/>
<field name="age" type="string" indexed="true" required="true" stored="true"/>
4.再起動してデータを表示
ストップSolrの:Solrの停止は_all
Solrの起動:Solrの開始を
1.データのインポート
2.結果
3.データベースが対応します
第三に、階段状のピット
- データのインポートは成功しないのですか?
PS:データ-config.xml構成ファイルでは、私の
<field column="age" name="age" />
私のように自分の名前の前に名前値の値:名前=「T_AGE」
とデータベースフィールドは、それがデータを照会された、同じではありません。