gpt4 book ai didi

php - MySQL 和 ElasticSearch 数据库

转载 作者:行者123 更新时间:2023-11-29 18:45:41 25 4
gpt4 key购买 nike

我是 ES 新手,对如何使用 mysql 和 ES 有点困惑。

所以,我想使用 ES DB 和 mysql DB - 因此 ES 始终是我的 mysql DB 的副本,以便更快地执行搜索和获取数据。

在SQL命令运行良好后,我想到了在ES中保存、更新和删除数据的想法。但是,后来我听说了 JDBC River - 而且我不知道哪种方法更好。

我认为我提到的第一种方法更好,但是网络上的意见太多,所以我不知道哪些是相关的。

最佳答案

这完全取决于您的用例。如果数据插入率较低,那么您可以使用第一种方法(成功将数据插入 RDBMS 后触发相同的数据到 Elasticsearch 中)。如果您的数据索引比率非常高,那么最好先在 MySQL 中索引数据,然后每隔 1 分钟5 分钟 从 MySQL 使用 Logstash Input JDBC plugin 轮询数据。 。第二种方法的优点是,在服务器中产生任何网络开销的机会非常小。

我在我的用例中使用 Logstash 输入 jdbc 插件。例如

input {
jdbc {
jdbc_driver_library => "/home/roop/logstash/mysql-connector-java-5.1.36.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_connection_string => "jdbc:mysql://localhost:3306/ecommerce"
jdbc_user => "roopendra"
jdbc_password => "roopendra"
parameters => { "product_category" => "electronics" }
schedule => "* * * * *"
statement => "select * from products where category = :product_category"
}
}
output {
elasticsearch {
index => "products"
document_type => "product"
document_id => "%{unique_id_field_name}"
hosts => ["localhost:9200"]
}
}

For Reference

关于php - MySQL 和 ElasticSearch 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44674889/

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