[jjzhu學java]之solr4.9同步mysql資料
Solr是一個高效能,採用Java5開發,基於Lucene的全文搜尋伺服器。同時對其進行了擴充套件,提供了比Lucene更為豐富的查詢語言,同時實現了可配置、可擴充套件並對查詢效能進行了優化,並且提供了一個完善的功能管理介面,是一款非常優秀的全文搜尋引擎。
可以將資料庫中的資料匯入到solr中,對於百萬級別的資料可以快速響應查詢。
1、安裝jdk
JDK版本需要1.7以上
2、安裝solr
下載solr壓縮包,解壓安裝包,進入到SOLR_HOME\example目錄下,執行命令java –jar start.jar啟動solr
3、匯入並更新資料相關配置
Solr提供了將資料庫資料匯入到solr索引庫的功能(dataimport)
3.1、下載資料庫驅動包
下載mysql的驅動包,並放在{%SOLR_HOME%}contrib\dataimporthandler\lib目錄下
3.2、配置solrconfig.xml
3.2.1、引用相關庫
solrconfig.xml包含了用於配置自身行為的絕大部分引數,其作用範圍是當前core。位置在檔案目錄該檔案位於{%solr_home%} example\solr\collection1\conf下。
資料匯入需要引用mysql的驅動包和DataImport所需的包。
在檔案中新增如下內容:
<libdir="../../../contrib/dataimporthandler/lib"regex=".*\.jar" />
<lib dir="../../../dist/"regex="solr-dataimporthandler-\d.*\.jar" />
3.2.2、配置requestHandler
在solrconfig.xml中加入如下配置:
<requestHandlername="/dataimport"class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
3.3、配置schema.xml
Schema.xml可以靈活的配置不同型別的欄位,所在位置與solrconfig.xml同級。
匯入資料需要配置與資料庫中欄位一致的型別,在配置檔案中
3.3、配置資料來源
在與solrconfig.xml同級目錄下({%solr_home%}example\solr\collection1\con),建立與3.2.2中配置中同名的資料配置檔案data-config.xml,
並新增如下內容
<dataConfig>
<!-- driver: 資料庫驅動名
url:資料庫路徑
user:資料庫使用者
password:資料庫密碼
batchSize:防止在匯入資料過程中記憶體溢位
-->
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/exercise"
user="root"
password=""
batchSize="-1"/>
<document>
<!--要匯入的表,可以配置多個
並查詢出要建立索引的欄位
-->
<entity name="customerinfo" query="selectcustomerID,customerName,PID,telephone from customerinfo">
<field column="customerID" name="id"/>
<field column="customerID" name="customerID"/>
<field column="customerName"name="customerName"/>
<field column="PID" name="PID"/>
<field column="telephone" name="telephone"/>
</entity>
</document>
</dataConfig>
4、匯入資料
訪問solr介面
Command選擇full-import,Entity選擇要匯入的表,再點選Execute便可匯入資料
完成後會提示索引建立完成。
然後在Query介面可以輸入相關查詢條件進行查詢