我将着手将大量记录(通过logstash)导入elasticsearch。
我敢肯定我会犯一些错误。因此,我希望能够轻松地从elasticsearch中删除导入的记录。
现在,我可以删除包含进口的标记。那只能起作用,因为那一天我将没有任何其他数据。
将来,我真的很想向Elasticsearch查询某种类型的所有记录,然后删除它们。
在这种情况下,记录类型将为“nbu_job”
最佳答案
您可以使用delete by query API来实现。
例如,以下命令将删除索引nbu_job
中类型为your_index
的所有文档:
curl -XDELETE 'http://localhost:9200/your_index/_query?q=_type:nbu_job'
如果需要验证使用上述命令删除的内容,建议您首先运行查询,以便查看与此命令匹配的内容(请注意,
_query
端点变为_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'
当然,
your_index
是您需要使用的索引名称,它也可以是alias,comma-separated list of indices(例如logstash-2015.06.11,logstash-2015.06.12
),索引通配符(例如logstash-*
)
关于elasticsearch - 从logstash/elasticsearch中删除某种类型的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30788051/