使用python删除elasticsearch中的特定文档

时间:2017-12-30 10:54:40

标签: python elasticsearch

我是ElasticSearch的新手。我正在尝试使用python从 http://localhost:9200/es_index/es_type 中删除一组数据。

假设 setTimeout(function(){ var script = document.createElement('script'); script.onload = function () { //do stuff when the script is loaded }; script.src = "//maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.3/js/bootstrap.min.js"; document.head.appendChild(script); //or something of the likes }, 5000); 是我要删除的 foreach (GridViewRow row in gv_Name.Rows) { { Label name = (Label)row.FindControl("lblitemNameId"); } 列表

代码:

x=['a','b','c','d','e','f']

但是,当我检查 http://localhost:9200/es_index/es_type 时,数据仍然存在。

1 个答案:

答案 0 :(得分:0)

请在评论中指定您的ES和elasticsearch-py版本。此外,您忘记在代码中提及es_index的值,因此请确保传递正确的值。

如果索引设置正确,delete_by_query的问题通常来自查询本身。尝试使用相同的主体运行简单的search并检查您是否获得了所需的结果。这样做总是明智的,以防止错误。

在你的情况下你知道id,所以使用es.delete并传递id值更合适:

for id in ids:
    es.delete(es_index=index, doc_type=_type, id=id)

对于许多文档,您应该考虑使用bulk帮助程序来提高性能。请参阅答案here