欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

es數據同步mysql

榮姿康2年前11瀏覽0評論

ES數據同步MySQL是當前數據管理中的一種常見需求。下面將結合代碼示例來詳細介紹如何實現這一需求。

首先需要安裝elasticsearch-jdbc插件,可以在該插件的官網中下載相應的jar包并安裝。安裝完成后,可以在MySQL中創建一張表格來存儲同步過來的數據。

CREATE TABLE `test_text` (
`id` varchar(50) NOT NULL COMMENT '唯一標識',
`name` varchar(50) DEFAULT NULL COMMENT '名稱'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='測試用表';

然后在ES中創建一個數據模板,模板中包括需要同步的ES索引的名稱、IP地址、端口等信息。

PUT _template/my_template
{
"index_patterns": ["my_*"],
"settings": {
"number_of_shards": 1
},
"mappings": {
"properties": {
"id": {
"type": "keyword"
},
"name": {
"type": "text"
}
}
},
"aliases": {
"my_index": {}
}
}

之后就可以使用elasticsearch-jdbc插件進行數據同步,以下是同步代碼的示例:

{
"type": "jdbc",
"jdbc": {
"url": "jdbc:mysql://localhost:3306/test",
"user": "root",
"password": "",
"sql": [
{
"statement": "SELECT id, name FROM test_text",
"parameter": []
}
],
"index": "my_index",
"type": "doc",
"metrics": {
"enabled": false
},
"elasticsearch": {
"cluster": "elasticsearch",
"host": "localhost",
"port": 9300,
"http": {
"enabled": true,
"auth": {
"user": "user",
"password": "password"
}
},
"bulk_actions": "5000",
"flush_interval": "5s"
}
}
}

在以上代碼中,需要設置MySQL的連接信息以及需要同步的數據查詢語句,同時還需要設置ES集群的相關信息,包括IP地址、端口、認證信息等。

最后,使用java -cp elasticsearch-jdbc-2.3.4.1.jar; mysql-connector-java-5.1.47.jar org.xbib.elasticsearch.plugin.jdbc.Runner elasticsearch-jdbc-test.json 啟動該插件,即可完成ES數據同步MySQL的操作。