从logstash / elasticsearch中删除某种类型的记录

时间:2015-06-11 17:54:53

标签: elasticsearch logstash

我即将开始将大量记录导入elasticsearch(通过logstash)。

我确定我会犯一些错误。因此,我希望能够轻松地从elasticsearch中删除导入的记录。

现在,我可以删除包含导入的标记。这只有效,因为我在同一天没有任何其他数据。

将来,我真的想查询某个类型的所有记录的elasticsearch,并删除它们。

在这种情况下,记录类型将是" nbu_job"

1 个答案:

答案 0 :(得分:1)

您可以使用delete by query API来实现这一目标。

例如,以下命令将删除索引nbu_jobyour_index类型的所有文档:

curl -XDELETE 'http://localhost:9200/your_index/_query?q=_type:nbu_job'

如果您需要使用上述命令验证要删除的内容,我建议您先运行查询,以便查看与此命令匹配的内容(请注意_query端点变为{{1} }!)

_search

请注意,如果执行此操作,curl -XGET 'http://localhost:9200/your_index/_search?q=_type:nbu_job' 的映射仍将存在。因此,如果您发现映射中存在错误,则可能需要使用

完全删除nbu_job类型
nbu_job

当然,curl -XDELETE 'http://localhost:9200/your_index/nbu_job' 是您需要处理的索引名称,它也可以是aliascomma-separated list of indices(例如your_index),索引通配符(例如logstash-2015.06.11,logstash-2015.06.12