elasticsearch deletebyquery返回仅找不到

时间:2016-03-05 13:11:43

标签: javascript elasticsearch elasticsearch-plugin

我尝试通过查询使用https://www.npmjs.com/package/elasticsearch-deletebyquery来删除文档。但所有时间都归还给我没有找到。我的用法:

client.deleteByQuery({
  index: index,
  type: type,
  body: {
    query: {
      range: {
        timeStamp: {
          gte: "2016-03-05",
          lt: "2016-03-06"
        }
      }
    }
  }
});

返回时我有:

Elasticsearch TRACE: 2016-03-05T11:48:52Z
  -> DELETE ... 9200/amazontest/pageRanktest/_query
  {
    "query": {
      "range": {
        "timeStamp": {
          "gte": "2016-03-05",
          "lt": "2016-03-06"
        }
      }
    }
  }
  <- 404
  {
    "found": false,
    "_index": "amazontest",
    "_type": "pageRanktest",
    "_id": "_query"

出了什么问题?谁能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

从ES 2.0开始,逐个查询功能已经removed from the core,现在可以作为插件使用。您可以在所有ES节点上安装delete-by-query插件,以便通过查询添加对删除文档的支持。

像这样安装插件:

bin/plugin install delete-by-query

然后你就可以在不获得404的情况下运行代码。