我即将开始将大量记录导入elasticsearch(通过logstash)。
我相信我会犯一些错误。 因此,我希望能够轻松地从弹性搜索中删除导入的记录。
现在,我可以删除包含导入的指示。 这只有效,因为我在同一天不会有任何其他数据。
将来,我真的很想在 elasticsearch 中查询某种类型的所有记录,并删除它们。
在这种情况下,记录类型将为"nbu_job"
查询删除 API 来实现此目的。
例如,以下命令将删除索引your_index
中所有类型 nbu_job
的文档:
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
是您需要处理的任何索引名称,它也可以是别名,逗号分隔的索引列表(例如 logstash-2015.06.11,logstash-2015.06.12
),索引通配符(例如 logstash-*
)