我即将开始将大量记录导入elasticsearch(通过logstash)。
我确定我会犯一些错误。因此,我希望能够轻松地从elasticsearch中删除导入的记录。
现在,我可以删除包含导入的标记。这只有效,因为我在同一天没有任何其他数据。
将来,我真的想查询某个类型的所有记录的elasticsearch,并删除它们。
在这种情况下,记录类型将是" nbu_job"
答案 0 :(得分:1)
您可以使用delete by query API来实现这一目标。
例如,以下命令将删除索引nbu_job
中your_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'
是您需要处理的索引名称,它也可以是alias,comma-separated list of indices(例如your_index
),索引通配符(例如logstash-2015.06.11,logstash-2015.06.12
)