solr與mysql數據同步的方案


1、使用activeMQ http://blog.csdn.net/zhou2s_101216/article/details/77855413

2、通過配置實現定時同步 http://blog.csdn.net/millery22/article/details/51445964

3、使用Linux的crontab http://blog.csdn.net/zfszhangyuan/article/details/53020897

        http://blog.csdn.net/weixin_37178674/article/details/78844959

5、solr的增量全量同步 https://www.jianshu.com/p/c0b06643a467

6、solr自定義分詞器

http://blog.csdn.net/qq_33157666/article/details/76350750

http://blog.csdn.net/WeiJonathan/article/details/18354723

 

7、數據庫內容導入solr索引庫中:Dataimport插件

https://www.cnblogs.com/anny0404/p/5234367.html

 

框圖畫的粗糙!勿噴啊!勿噴啊!

配置數據庫與solrconfig.xml

Dataimport插件

可以批量把數據庫中的數據導入到索引庫中。

1.添加jar包

需要的jar包,再solr,目錄的dist下,找到solr-dataimporthandler-4.7.0.jar,solr-dataimporthandler-extras-4.7.0.jar,移動到collection1下,lib包,如果沒有lib包,自己創建一個即可。

除了這兩個包,還需要數據庫驅動包,mysql-connector-java-5.1.7-bin.jar,找不到可點擊進行下載。同樣放到lib包下。

2.修改solrconfig.xml,添加一個requestHandler。

找到collection1/conf目錄的solrconfig.xml文件。

 

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

 

3.創建一個data-config.xml。目錄和solrconfig.xml在同一個目錄下collection1\conf

 

復制代碼
<?xml version="1.0" encoding="UTF-8" ?>  
<dataConfig>   

<dataSource type="JdbcDataSource"   
          driver="com.mysql.jdbc.Driver"   
          url="jdbc:mysql://192.168.2.10:3306/lucene"   
          user="root"   
          password="root"/>   
<document>   
    <entity name="product" query="SELECT pid,name,catalog_name,price,description,picture FROM products ">
         <field column="pid" name="id"/> 
         <field column="name" name="product_name"/> 
         <field column="catalog_name" name="product_catalog_name"/> 
         <field column="price" name="product_price"/> 
         <field column="description" name="product_description"/> 
         <field column="picture" name="product_picture"/> 
    </entity>   
</document>   

</dataConfig>
復制代碼

 

數據庫url,配置成你自己的數據庫地址和數據庫名稱即可。數據庫備份SQL。下載 project.sql

4.配置好后,重啟tomcat。訪問頁面。

Dataimport就配置成功了。下面可以導入數據庫數據了。

Command : full-import--全導入  data-import---導入沒導入的。

Entity:選擇配置文件中定義的product實體進行導入。

點擊Execute 即可。執行過程中,可能你會覺得很長時間怎么還沒完成。點擊 Refresh Status 刷新即可。

導入完畢后進行Query 查詢。

復制代碼
 "response": {
    "numFound": 12,
    "start": 0,
    "docs": [
      {
        "product_catalog_name": "惠民特色",
        "product_price": 23.6,
        "product_name": "八珍豆腐餅",
        "id": "1",
        "product_picture": "1.jpg",
        "_version_": 1527658021822398500
      },
      {
        "product_catalog_name": "惠民特色",
        "product_price": 28,
        "product_name": "什錦福包",
        "id": "2",
        "product_picture": "2.jpg",
        "_version_": 1527658022878314500
      },
      {
        "product_catalog_name": "惠民特色",
        "product_price": 18,
        "product_name": "筍尖",
        "id": "3",
        "product_picture": "3.jpg",
        "_version_": 1527658022881460200
      },
      {
        "product_catalog_name": "惠民特色",
復制代碼

完畢!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM