gpt4 book ai didi

elasticsearch - 如何在Logstash中使用新数据更新索引?

转载 作者:行者123 更新时间:2023-12-03 00:51:21 25 4
gpt4 key购买 nike

我有带表的PostgreSQL 10数据库。每小时有7000个新数据进入该表。

Logstash 6.4中,我有这样的.conf文件,它在Elasticsearch中创建索引。
.conf:

input {
jdbc {
jdbc_connection_string => "jdbc:postgresql://@host:@port/@database"
jdbc_user => "@username"
jdbc_password => "@password"
jdbc_driver_library => "C:\postgresql-42.2.5.jar"
jdbc_driver_class => "org.postgresql.Driver"
statement => "SELECT * from table_name"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "table_name"
}
}

问题:
  • 如何使用表中显示的新数据更新现有索引?
  • 可以存储的最大数据索引量是多少?会有溢出吗?
  • 最佳答案

    如何用表中出现的新数据更新现有索引?

    索引table_name会自动更新,并在数据库表中添加新条目。但是,如果在数据库表中更新了任何现有条目,则它们将作为具有新文档ID的新文档添加到索引中。相反,如果您希望更新ES中的现有文档,请使用具有唯一值的列名称并将其分配为文档ID。这样,如果数据库中的现有条目已更新,则ES中的相应文档将被最新值覆盖。

    在输出配置中使用document_id => "%{column_name_with_unique_values>}"
    数据索引可以存储的最大数据量是多少?会有溢出吗?

    这实际上取决于您的资源。但是,为了获得最佳性能,建议将碎片大小保持在20-40 GB之间。如果索引有5个主分片,则可以在一个索引中存储大约200 GB的数据。高于此的任何因素都考虑将数据存储在新索引中。理想情况下,请使用时间序列索引(例如每天或每月),这样便于维护。存档和备份,然后清除。

    关于elasticsearch - 如何在Logstash中使用新数据更新索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53018675/

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