[英]Bulk delete elasticsearch
我正在使用彈性搜索 2.2。
這是文件的數量
curl 'xxxxxxxxx:9200/_cat/indices?v'
yellow open app 5 1 28019178 5073 11.4gb 11.4gb
在“app”索引中,我們有兩種類型的文檔。
現在我想刪除“syslog”類型下的所有文檔。
因此,我嘗試使用以下命令
curl -XDELETE "http://xxxxxx:9200/app/syslog"
但我收到以下錯誤
No handler found for uri [/app/syslog]
我也安裝了按查詢刪除插件。 有什么辦法可以進行批量刪除操作嗎?
現在,我通過獲取 id 來刪除記錄。
curl -XDELETE "http://xxxxxx:9200/app/syslog/A121312"
我花了大約 5 分鍾刪除 10000 條記錄。 我有超過 1000000 個需要刪除的文檔。 請幫忙。
[編輯-1]
我運行以下查詢來刪除 syslog 類型的文檔
curl -XDELETE 'http://xxxxxx:9200/app/syslog/_query' -d'
{
"query": {
"bool": {
"must": [
{
"match_all": {}
}
]
}
}
}'
結果如下
{"found":false,"_index":"app","_type":"syslog","_id":"_query","_version":1,"_shards":{"total":2,"successful":1,"failed":0}}
我曾經查詢以從索引中獲取此消息
{
"_index" : "app",
"_type" : "syslog",
"_id" : "AVckPMQnKYIebrQhF556",
"_score" : 1.0,
"_source" : {
"message" : "some test message",
"@version" : "1",
"@timestamp" : "2016-09-13T15:49:04.562Z",
"type" : "syslog",
"host" : "1.2.3.4",
"priority" : 0,
"severity" : 0,
"facility" : 0,
"facility_label" : "kernel",
"severity_label" : "Emergency"
}
[編輯 2]
按作為插件列出的查詢刪除
sudo /usr/share/elasticsearch/bin/plugin list
Installed plugins in /usr/share/elasticsearch/plugins/node1:
- delete-by-query
在過去幾天用 7700 萬個不需要的文檔填充 elasticsearch 后,我遇到了類似的問題。 在查詢中設置超時是您的朋友。 正如這里提到的。 Curl 也有參數增加 (-m 3600)
curl --request DELETE \
--url 'http://127.0.0.1:9200/nadhled/tree/_query?timeout=60m' \
--header 'content-type: application/json' \
-m 3600 \
--data '{"query":{
"filtered":{
"filter":{
"range":{
"timestamp":{
"lt":1564826247
},
"timestamp":{
"gt":1564527660
}
}
}
}
}
}'
我知道這不是您的批量刪除,但我在研究過程中發現了此頁面,因此我將其發布在這里。 希望對你也有幫助。
我建議您應該創建一個新索引並重新索引要保留的文檔
但是如果你想按查詢使用刪除你應該使用這個,
curl -XDELETE 'http://xxxxxx:9200/app/syslog/_query'
{
"query": {
"bool": {
"must": [
{
"match_all": {}
}
]
}
}
}
但是你會留下映射。
在最新的 Elasticsearch(5.2) 中,您可以使用_delete_by_query
curl -XPOST "http://localhost:9200/index/type/_delete_by_query" -d'
{
"query":{
"match_all":{}
}
}'
按查詢刪除 API 是新的,仍應被視為實驗性的。 API 可能會以不向后兼容的方式更改
https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete-by-query.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.