MySQL是一款廣泛使用的關系型數據庫管理系統。而Elasticsearch是一款開源的分布式搜索引擎。這兩個系統各自都有著自己的優缺點,但在一些場景下,我們需要將它們結合起來使用,以實現更加復雜的業務場景。而此時,我們可以使用Mysql相關的Elasticsearch數據同步工具——Mysql-ESTJS。
npm install mysql-estjs
首先我們需要安裝mysql-estjs,這個庫本身也只是一個無需編寫過多代碼就可以進行mysql與elasticsearch數據同步的庫。使用也非常簡單。比如我們需要將mysql中的test數據庫的數據全部同步到elasticsearch中的test2索引下:
const mysql_estjs = require('mysql-estjs'); let options = { source: { host: 'localhost', user: 'root', password: 'xxx', database: 'test', table: 'xxx' }, target: { host: 'localhost', port: 9200, index: 'test2', type: '' } }; mysql_estjs(options);
同步完畢后,就可以在elasticsearch中使用search等操作來查詢數據了。
除了進行全量數據同步外,也可以進行增量數據同步,只需在options中加入incremental: true即可。
const mysql_estjs = require('mysql-estjs'); let options = { source: { host: 'localhost', user: 'root', password: 'xxx', database: 'test', table: 'xxx' }, target: { host: 'localhost', port: 9200, index: 'test2', type: '' }, incremental: true }; mysql_estjs(options);
除了以上這些功能外,mysql-estjs還支持一些其他的配置以及函數調用等,可以查看官方文檔獲得更多幫助。
上一篇mysql eval