type="jdbcdatasource"
driver="com.mysql.jdbc.driver"
url="jdbc:mysql:"
user="root"
password="root"/>
name="goods">
name="book"
transformer="clobtransformer"
pk="bid"
query="select bid,bname,author,price,currprice,discount,press,publishtime,edition,pagenum,wordnum,
printtime,booksize,***** from t_book"
deltaimportquery ="select * from t_book where bid='$'"
deltaquery = "select
bidfrom
t_book
where
updatetime > '$'">
column="bid"
name="id" />
column="bname"
name="bname"/>
column="author"
name="bauthor"/>
column="price"
name="bprice"/>
column="currprice"
name="bcurrprice"/>
column="discount"
name="bdiscount"/>
column="press"
name="bpress"/>
column="publishtime"
name="bpublishtime"/>
column="edition"
name="bedition"/>
column="pagenum"
name="bpagenum"/>
column="updatetime"
name ="bupdatetime" />
entity>
document>
dataconfig>
說明:
增量索引的原理是從資料庫中根據deltaquery指定的sql語句查詢出所有需要
增量匯入的資料的id號。
然後根據deltaimportquery指定的sql語句返回所有這些id的資料,即為這
次增量匯入所要處理的資料。
核心思想是:通過內建變數「di
h.de
lta.
id」和
「 」來記錄本次要索引的id和最近一次索引的時間。
solr增量索引配置
一、開始增量索引前的準備工作。
1、認識data-config.xml中相關屬性
注意這個query只返回id欄位
注意這個只返回id欄位
最主要的是我們要知道這樣乙個事實: last_index_time是dataimporthandler的乙個預設字段,(可檢視conf目錄下的dataimporter.properties檔案)
我們可以在任何sql中引用,該欄位用於表明上次做full import或者是delta import(增量匯入)的最後一次時間。
2、資料庫配置注意事項
1)、如果只涉及新增與修改業務,那麼資料庫裡只需新增乙個型別為timpstamp,預設值為當前系統時間的字段 :current_timestamp(mysql)
2)、如果還涉及刪除業務,那麼資料裡就需額外再多新增乙個欄位isdelete,int型別的用0,1來標識,此條記錄是否被刪除,當然也可以用其他字段標識,ture或false都可以
3、dataimporter.properties / _dataimporter.properties
在c:\solr-tomcat\solr\item\conf中檢視是否存在檔案dataimporter.properties,如果沒有,則新建該檔案。
name="activitydb"
type="jdbcdatasource"
driver="com.mysql.jdbc.driver"
url="jdbc:mysql://localhost/test"
user="swang6"
password="swang6"/>
pk="id"
datasource="activitydb"
name="myentity"
query="select * from myentity where is delete=0"
deltaquery="select id from myentity where my_date >'$'"
deletedpkquery="select id from myentity where isdelete=1"
deltaimportquery="select * from myentity where id='$">
column="id"
name="id"/>
column="name"
name="name"/>
column="address"
name="address"/>
column="age"
name="age"/>
column="my_date"
name="my_date"/>
column="isdelete"
name="isdelete"/>
entity>
document>
dataconfig>
注:如果有必要,則可以在schema.xml中新增乙個timestamp的field
做了以上配置後,可以設定linux的cron job或者spring 的taskschuduler或者cron job後,可以定時發url:
http://localhost:8983/solr/dataimport?command=delta-import去做增量索引。更多關於solr做增量索引的說明文件:
當然也可以用solr自帶的scheduler來做增量索引:
#scheduling
mysql增量 mysql資料庫增量恢復
mysqldump uroot p b discuzx f x master data 2 events gzip root discuzx.sql.gz 寫入資料 刪除資料 第一時間關閉資料庫對外讀寫功能,並進入資料執行重新整理mysqlbinlog的位置點,新生成檔案 flush logs 根據...
Solr 6 5 1從mysql資料庫增量匯入資料
第一步 修改solrconfig.xml 720行左右 name dataimport class solr.dataimporthandler name defaults name config db data config.xmlstr lst requesthandler name delta...
如何匯出 匯入mysql資料庫
mysql資料庫的匯出步驟 1 開啟dos命令視窗 2 進入mysql安裝目錄下的bin下面 3 輸入mysqldump u使用者 p密碼 資料庫 匯出目錄加檔名,例如 mysqldump uroot proot mysql mysql.sql,會在bin目錄下產生這個sql檔案。注意結尾的地方不需...