Solr與Mysql簡單整合

來源:互聯網
上載者:User

標籤:

Solr與Mysql資料庫的整合,實現全量索引、增量索引的建立。 
基本原理很簡單:在Solr項目中註冊solr的DataImportHandler並配置Mysql資料來源以及資料查詢sql語句。當我們通過Solr後台控制頁面或者直接存取某個地址(後面給出),Solr就會調用DataImportHandler,串連資料庫,根據sql語句查詢資料,建立索引。 

樣本solr版本:solr4.3.1 
約定Solr的安裝目錄,如E:\environment\solr-4.3.1為solr-home。 


1. 拷貝jar包 
將DataImportHandler所在的jar包和mysql的資料庫驅動包Copy到solr-home/dist目錄下。預設情況下該目錄下已存在DataImportHandler所需的兩個jar包。該Solr版本對應的jar包名字是:solr-dataimporthandler-4.3.1.jar、solr-dataimporthandler-extras-4.3.1.jar 

2. 修改solr-home\example\solr\collection1\conf\solrconfig.xml檔案 
a. 增加所需jar包引用配置: 

Html代碼  
  1. <lib dir="../../../dist/" regex="solr-dataimporthandler-.*\.jar" />  
  2. <lib dir="../../../dist/" regex="mysql-connector-java-.*\.jar" />  



b. 增加resultHandler配置 

Html代碼  
  1. <requestHandler name="/dataimport"     
  2.         class="org.apache.solr.handler.dataimport.DataImportHandler">        
  3.         <lst name="defaults">        
  4.             <str name="config">data-config.xml</str>        
  5.         </lst>        
  6. </requestHandler>  



3.  在solrconfig.xml的同級目錄下建立data-config.xml檔案,設定資料庫串連和Solr與mysql資料的對應關係和查詢語句。 

Html代碼  
  1. <dataConfig>    
  2.   <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"     
  3.    url="jdbc:mysql://127.0.0.1/dbname" user="root" password="root"/>    
  4.    <document name="search_object">   
  5.       <entity name="talent"   
  6.     query="select id, gender, qq, msn, anualSalary, updateTime, addUserId  
  7.               from talent">    
  8.         <field column="anualSalary" name="salary"/>    
  9.         <field column="addUserId" name="userId"/>    
  10.      
  11.         <!--Talent Names-->  
  12.         <entity name="talent_name" query="select value from talentname where talentId=‘${talent.id}‘">    
  13.           <field column="value" name="name"/>    
  14.         </entity>    
  15.       </entity>    
  16.    </document>    
  17. </dataConfig>   



4. 重啟Solr。 
大量匯入(full-import): 
http://<host>:<port>/solr/dataimport?command=full-import&commit=y 
    
增量匯入(delta-import): 
http://<host>:<port>/solr/dataimport?command=delta-import&commit=y 
    
匯入狀態查詢(status): 
http://<host>:<port>/solr/dataimport 
    
重新裝載設定檔(reload-config): 
http://<host>:<port>/solr/dataimport?command=reload-config 
    
終止匯入(abort): 
http://<host>:<port>/solr/dataimport?command=abort

Solr與Mysql簡單整合

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.