首页 > 解决方案 > Elasticsearch 删除的文档使用 logstash 重新出现

问题描述

我在单节点集群上运行 ES 进行开发。我正在使用 kibana 中的 delete api 删除文档。它被删除一秒钟,然后立即重新出现。任何帮助,将不胜感激

这是我使用的 api 命令:

  1. 删除测试/_doc/12345
{
  "_index" : "test",
  "_type" : "_doc",
  "_id" : "12345",
  "_version" : 231,
  "result" : "deleted",
  "_shards" : {
    "total" : 3,
    "successful" : 1,
    "failed" : 0
  },
  "_seq_no" : 899,
  "_primary_term" : 1
}
  1. 获取测试/_count
{
  "count" : 3,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  }
}
  1. 立即删除的文档被重新索引 GET test/_count
{
  "count" : 4,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  }
}

标签: elasticsearch

解决方案


根据文档:

...如果 clean_run 设置为 true,此值将被忽略,sql_last_value 将设置为 1970 年 1 月 1 日

https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html#_state

这可以解释为什么每 10 分钟添加一次所有数据。删除 clean_run 并再次测试或检查 _version 文件是否已更新。


推荐阅读