【发布时间】:2018-11-02 09:22:43
【问题描述】:
我已经使用 Logstash 配置文件将 ElasticSearch 连接到 SqlServer,当我在 Sqlserver 中更新或插入记录时,“ElasticSearch”索引会使用新的/更改的记录进行更新,但问题是当我从 sqlserver 中删除记录时,” ElasticSearch" 索引未使用已删除的记录进行更新。它仍在索引中显示已删除的记录。 logstash 文件中是否有任何用于删除记录的配置或设置?
Here is my logstash file
input {
jdbc {
jdbc_driver_library => "C:\Program Files\Microsoft JDBC Driver 6.4 for SQL Server\sqljdbc_6.4\enu\mssql-jdbc-6.4.0.jre8.jar"
jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
jdbc_connection_string => "jdbc:sqlserver://XXXXXXXX;User Id=XXXXXXX;password=XXXXX;databaseName=XXX;"
jdbc_user => "XXXXXX"
jdbc_password => "XXXXXXXX"
statement => "select employeeId,empname,salary,DOB,lastmodifiedDate from employee where LastModifiedDate>:sql_last_value"
use_column_value => true
tracking_column => lastmodifieddate
tracking_column_type => "timestamp"
jdbc_paging_enabled => "true"
schedule => "* * * * * *"
clean_run => false } }
filter {
}
output {
stdout {
codec => rubydebug
}
elasticsearch {
hosts => "http://localhost:9200/"
index => "emp_index"
document_id => "%{employeeId}"
document_type => "emp_type"
}
}
Regards,
raj.
【问题讨论】:
-
这个答案可能会有所帮助:stackoverflow.com/questions/34477095/…
标签: sql-server elasticsearch elastic-stack