elasticsearch 弹性搜索和日志存储上增量索引名称上的唯一文档id
我用麋鹿做报告。Logstash JDBC插件,用于从Oracle查询提供弹性搜索。我的索引名以每日日期作为增量后缀。我使用文档ID作为DB的主键。但数据库中的同一条记录会随着时间的推移而发生变化。所以我在logstash输入和DB查询上有每小时的时间表,以获取在过去1小时内更新的记录。大多数记录都在一周内更新。由于这个原因,同一条记录反映在多个索引中。有没有办法使文档ID在所有索引中都是唯一的 日志存储配置
elasticsearch 弹性搜索和日志存储上增量索引名称上的唯一文档id,
elasticsearch,logstash,elk,
elasticsearch,Logstash,Elk,我用麋鹿做报告。Logstash JDBC插件,用于从Oracle查询提供弹性搜索。我的索引名以每日日期作为增量后缀。我使用文档ID作为DB的主键。但数据库中的同一条记录会随着时间的推移而发生变化。所以我在logstash输入和DB查询上有每小时的时间表,以获取在过去1小时内更新的记录。大多数记录都在一周内更新。由于这个原因,同一条记录反映在多个索引中。有没有办法使文档ID在所有索引中都是唯一的 日志存储配置 input{ jdbc{ jdbc_driver_library=&
input{
jdbc{
jdbc_driver_library=>"ojdbc8.jar"
jdbc_driver_class=>"Java::oracle.jdbc.driver.OracleDriver"
jdbc_connection_string=>"db connection string"
jdbc_user=>"user"
jdbc_password=>"pass"
statement_filepath=>"incident.sql"
schedule=>"0 * * * *"
id=>"incident_details"
type=>"incident_details"
tracking_column_type=>"numeric"
tracking_column=>"incidnet_id"
}
}
if[type]="incident_details"{
elasticsearch{
index=>"devops-servicenow-%{[type]}-%{+YYYY.MM.dd}"
hosts=>["elk1.mydomain.com:9200","elk2.mydomain.com:9200"]
document_id=>"%{incidnet_id}"
doc_as_upsert=>true
action=>"update"
}
}
SQL
SELECT
incident_id,
created_time,
modified_time,
incident_status
FROM incident WHERE modified_time BETWEEN (SYSDATE-1/24) AND SYSDATE;