我想从ElasticSearch中删除数据。我已经删除了索引。然而,这似乎并没有真正删除数据本身。我看到的其他东西指向通过查询删除功能。然而,我甚至不知道该问什么。我知道指数。本质上,我想知道如何做a

DELETE FROM [Index]

从邮递员在Chrome。然而,我没有任何运气。似乎无论我做什么,数据都不会消失。到目前为止,我已经成功地删除索引使用DELETE HTTP动词在邮差和使用一个url:

   http://localhost:9200/[indexName]

然而,这似乎并没有真正删除数据(又名文档)本身。


当前回答

删除所有索引的python脚本:

import requests
import json

ES_HOST = "http://localhost:9200"
ES_URL = f"{ES_HOST}/_cat/indices?format=json"

indexes = requests.get(ES_URL).content
indexes = json.loads(index.decode())

for i in index:
    index_name = i['index']
    content = requests.delete(f"{ES_HOST}/{index_name}").content
    print(content)

其他回答

如果你需要删除所有索引,这可能会派上用场:

curl -X DELETE 'http://localhost:9200/_all'

Powershell:

Invoke-WebRequest -method DELETE http://localhost:9200/_all

您可以使用cURL或使用开源爱好者为Elasticsearch创建的许多工具中的任何一个进行可视化删除。

使用旋度

curl -XDELETE localhost:9200/index/type/documentID

e.g.

curl -XDELETE localhost:9200/shop/product/1

然后,您将收到关于此操作是否成功的回复。你可以删除整个索引,也可以删除带有索引的类型,你也可以删除一个类型,就像这样,去掉文档ID

curl -XDELETE localhost:9200/shop/product

如果您希望删除索引-

curl -XDELETE localhost:9200/shop

如果您希望删除多个遵循特定命名约定的索引(注意*,通配符),则-

curl -XDELETE localhost:9200/.mar* 

在视觉上

上面提到了各种各样的工具,我不会在这里列出它们,但我会链接到一个可以让你直接开始的工具,位于这里。这个工具被称为KOPF,要连接到您的主机,请单击左上角的标志,并输入您的集群的URL。

一旦连接,您将能够管理您的整个集群,删除,优化和调优您的集群。

可以通过Kibana Console删除索引:

获取所有索引:

GET /_cat/indices?v

删除指定索引。

DELETE /INDEX_NAME_TO_DELETE

最简单的方法!

Endpoint :
http://localhost:9201/twitter/_delete_by_query

Payload :
{
  "query": { 
    "match": {
      "message": "some message"
    }
  }
}

在弹性搜索中,twitter在哪里是索引

裁判;https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete-by-query.html

你也可以在'elasticsearch head' (Chrome插件)中使用delete操作删除索引。将它添加到你的chrome浏览器并连接到你的主机。在那里,你会发现所有的索引,如果你点击下面的动作按钮,你想删除的索引,你会发现一个删除选项下拉。点击它,并在弹出框中输入DELETE。您的索引将被删除。'Elasticsearch head'扩展是一个查看和管理索引和数据的简单方法。