從資料庫 Mysql 進行增匯入輸入到Solr中

2021-07-11 20:48:20 字數 1553 閱讀 3215

當從資料庫中進行增量匯入時,與之前的全部匯入的區別在兩個屬性的設定deltaimportquery,deltaquery。

需要重點說明的是這裡的deltaquery(其實就是乙個sql語句),中的update_time是solr_t1這個表的乙個字段,用來記錄每條記錄的新增時間,可以在相應的表中建立update_time欄位,型別為timestamp 預設為current_timestamp,並且要設定為on update current_timestamp

<?xml version="1.0" encoding="utf-8" ?>

name="solrdb"

type="jdbcdatasource"

driver="com.mysql.jdbc.driver"

url="jdbc:mysql:"

user="***"

password="****"/>

name="solr_t1"

pk="id"

query="select id, name from solr_t1"

deltaimportquery="select id, name from solr_t1 where id='$'"

deltaquery="select id, name from solr_t1 where update_time > '$'">

column="id"

name="id"/>

column="name"

name="name"/>

column="update_time"

name="update_time"/>

entity>

document>

dataconfig>

1、timestamp default current_timestamp on update current_timestamp

在建立新記錄和修改現有記錄的時候都對這個字段更新

2、timestamp default current_timestamp

在建立新記錄的時候把這個記錄的這個字段設定為當前時間,但以後修改時,不再重新整理這個時間值

3、timestamp on update current_timestamp

在建立新記錄的時候把這個字段設定為0

note:>表示大於號

這裡的update_time 是第一種型別(timestamp default current_timestamp on update current_timestamp)

updata是第二種(timestamp default current_timestamp)

第18行記錄是被改動了的,update_time 對應的值更新了,但是updata對應的值沒有更新

ps:如果不知道如何全部匯入,請看從資料庫中往solr中匯入資料之1

從MySQL匯出匯入資料庫的命令

1.匯出整個資料庫 mysqldump u 使用者名稱 p 資料庫名 匯出的檔名 2.匯出乙個表 mysqldump u 使用者名稱 p 資料庫名 表名 匯出的檔名 3.匯出乙個資料庫結構 d 沒有資料 add drop table 在每個create語句之前增加乙個drop table 4.匯入資...

Mysql匯入資料庫

網上查的都是用命令列,匯入資料的,自己發現用mysql的workbench匯入非常簡單 1.在server administration中選取manage import export 2.選擇data import restore,options選取import from self containe...

MySQL 資料庫匯入

先導出資料庫 然後cmd到匯出的sql檔案路徑下,進到mysql命令列,執行如下操作 webviewer是任意庫名 drop database if exists webviewer create database if not exists webviewer use webviewer sour...