0

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

但这仅适用于 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 上运行时它失败了。任何帮助,将不胜感激。

4

1 回答 1

1

从文档看来,对于 elasticsearch 版本 0.90x,按查询删除不应嵌套在查询词中:

即上面的查询应该如下:

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

但是对于版本 1.X 文档确实提到,对于通过查询删除,查询应该嵌套在类似于搜索 api 的查询中。

这在1.0 版本的重大更改中提到

于 2014-12-01T18:50:07.930 回答