彩虹橋之es同步模組上線

背景

之前介紹了彩虹橋的mysql冗餘功能,以及快取同步功能,最近老顧又把es同步進行了上線,大家可以升級1。2。0版本即可。

下面我們就簡單介紹一下

Es同步,主要功能就是把mysql的資料同步到es中;只需要簡單的配置即可

ES目標源

彩虹橋之es同步模組上線

型別

:指定為es

伺服器地址

:連結es伺服器的地址

連結配置

:代表連結es的配置,配置格式(k1=v1;k2=v2);沒有使用者名稱和密碼時,可不需要配置username=elastic;password=elastic;案例如下:

connectTimeOut=3000;socketTimeOut=3000;connectionRequestTimeOut=3000;maxConnectCount=100;maxConnectPerRoute=10;keepAliveMinutes=10

es版本

:連結es伺服器的es版本,目的只是說明而已,可以不填寫

Es任務規則

彩虹橋之es同步模組上線

如下新增es任務規則

彩虹橋之es同步模組上線

父子文件配置

彩虹橋之es同步模組上線

索引格式:

資料同步哪一個index索引中,支援freemarker

id格式:

index文件的唯一id,支援freemarker

同步模式:

0:索引更新sql模式(執行sql語句,獲得es屬性)),1:索引更新canal模式(直接從binlog屬性中獲取)

sql模式針對負責需求,需要關聯其他表時用到

欄位對映:

canal模式時有效,json格式,對映es和db的屬性欄位,格式{k1:v1, k2:v2} k1=v1(es屬性=db列)

sql語句:

sql模式時有效,sql格式,有事件時執行sql,變數用?代替

sql欄位:

sql模式時有效,sql格式中?對應的值,(以#@#隔開)

sqlNull欄位:

sql模式時有效,如果sql執行結果為空是,需要清理的esFiled(逗號隔開)

欄位型別:

欄位的型別(k1=v1 以#@#隔開)(表示:es欄位名=欄位型別)\n型別有 int、date、string、array、json、decimal\n如:\nF1=array; 陣列格式 array+值分隔符(1個字元)+值型別(int,decimal,string;預設不寫為string), 配合 group_concat 字元; 代表值以;隔開\nF1=json json物件

忽略欄位:

跳過忽略此欄位(es屬性),不需要把此es屬性更新進去(F1,F2以逗號隔開)

文件型別:

0:普通文件,1:父文件,2:子文件

父子關聯名:

父子文件時有效,父子關聯健名(父子文件有效),如:join_field

文件關聯名:

父子文件時有效,文件關聯名(父子文件有效),如:父:question,子:answer

子文件路由:

子文件的route格式(父子文件有效)支援freemarker

子文件的父Id:

子文件的parent格式(父子文件有效)支援freemarker

刪除策略:

0:根據index和id模板刪除索引,1:sql模式有效,執行sql模板,更新索引

開源專案地址:

https://gitee。com/gujiachun/bridge

https://github。com/gujiachun/bridge。git