gpt4 book ai didi

mysql - ElasticSearch如何与Mysql集成

转载 作者:行者123 更新时间:2023-12-03 02:34:17 27 4
gpt4 key购买 nike

在我的项目之一中,我计划将ElasticSearch与mysql一起使用。
我已经成功安装了ElasticSearch。我能够单独管理ES中的索引。但我不知道如何用mysql实现相同的功能。

我已经阅读了几份文件,但我有点困惑,没有明确的主意。谁能帮帮我吗?

提前致谢。

最佳答案

从ES 5.x开始,他们已经使用logstash插件提供了此功能。

这将定期从数据库导入数据并推送到ES服务器。

必须创建一个下面给出的简单导入文件(也描述为here),并使用logstash运行脚本。 Logstash支持按计划运行此脚本。

# file: contacts-index-logstash.conf
input {
jdbc {
jdbc_connection_string => "jdbc:mysql://localhost:3306/mydb"
jdbc_user => "user"
jdbc_password => "pswd"
schedule => "* * * * *"
jdbc_validate_connection => true
jdbc_driver_library => "/path/to/latest/mysql-connector-java-jar"
jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
statement => "SELECT * from contacts where updatedAt > :sql_last_value"
}
}
output {
elasticsearch {
protocol => http
index => "contacts"
document_type => "contact"
document_id => "%{id}"
host => "ES_NODE_HOST"
}
}
# "* * * * *" -> run every minute
# sql_last_value is a built in parameter whose value is set to Thursday, 1 January 1970,
# or 0 if use_column_value is true and tracking_column is set

您可以从maven here下载mysql jar。

如果执行此脚本时ES中不存在索引,则会自动创建它们。就像对Elasticsearch进行常规邮寄一样

关于mysql - ElasticSearch如何与Mysql集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59235428/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com