ElasticSearch删除批量项目

时间:2014-12-01 17:34:50

标签: javascript curl elasticsearch elasticsearch-bulk-api

我想删除某种类型的所有文件。

但这仅适用于版本1.0及更高版本:

curl -XDELETE 'http://localhost:9200/index/type/_query?pretty' -d 
'{
    "query" : {
        "bool" : {
            "must" : [
                {
                    "match_all" : {} 
                } 
            ] 
        } 
    }
}'

我在ES v1.4.x上尝试了这个,它运行正常。当我在ES v0.90.13上运行它失败时。 任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:1)

从弹性搜索verserion 0.90x的文档看来,delete by query不应嵌套在查询字词中:

即上述查询应如下:

curl -XDELETE 'http://localhost:9200/index/type/_query?pretty' -d 
'{
        "bool" : {
            "must" : [
                {
                    "match_all" : {} 
                } 
            ] 
        } 
  }'

但是对于版本1.X文档确实提到delete by query,查询应该嵌套在类似于search api的查询中。

1.0 release

的重大变化中提到了这一点