【问题标题】:How to delete index data partially in Elasticsearch如何在 Elasticsearch 中部分删除索引数据
【发布时间】:2019-01-04 13:37:13
【问题描述】:

我想从我的 elasticsearch 索引中删除一些数据,而不是完整的索引,我的问题是如何找到所有可用分片的文档 ID。查询的内容是什么??

我使用以下查询来删除特定文档,但它会引发错误,所以我认为我的文档 ID 是错误的。请告诉我如何获取可用分片的正确文档 ID。

curl -XDELETE localhost:9200/index/type/documentID

我的数据流是 postgresql 到 logstash 到 elasticsearch 到 kibana。但问题是索引大小正在增加很多,它进入 GB 的内存,而我的 postgresql 数据小于 150 mb,即使没有数据被推送,索引大小也会继续增加。请帮助我了解弹性搜索索引的工作原理。

【问题讨论】:

  • 运行DELETE命令会抛出什么错误?
  • 它说没有找到结果
  • 您确定您使用的是正确的indextype 吗?
  • 是的,索引是正确的,也可以输入。
  • 那么这意味着您的文档已被某种方式删除。为什么你认为情况并非如此?您能否展示您要删除的文档(_id_index_type_source)?

标签: elasticsearch kibana


【解决方案1】:

您很可能正在使用类型被丢弃的 Elasticsearch 版本。在这种情况下,正确的delete id 命令如下所示:

curl -XDELETE localhost:9200/index/_doc/documentID

【讨论】:

  • “_doc”到底是什么,我真的不知道该放什么,请您详细说明???对内存增加问题有什么想法吗??
  • 你可以直接输入_doc吗
  • 感谢您的帮助,我可以通过它们的 id 分别删除每个参数。
【解决方案2】:

还有一件事

curl -XDELETE localhost:9200/index/_doc/documentID

此命令不起作用,然后尝试使用

curl -X DELETE localhost:9200/index/_doc/documentID

因为第一个查询对我不起作用,但是当我在 X 和 DELETE 之间留出空格时,我得到了结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    • 2016-05-10
    • 1970-01-01
    相关资源
    最近更新 更多