Elasticsearch-索引未获取任何文档

时间:2018-08-16 18:18:54

标签: elasticsearch

ES新手在这里。我想根据一个标准将文档从一个索引移到另一索引。我一直在使用Reindex API,特别是需要查询的版本-此处的文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-reindex.html

我一直在将以下查询发布到<root_es_uri>/_reindex

{
  "source": {
    "index": <EXISTING_SOURCE_INDEX>,
    "type": "_doc",
    "query": {
      "term": {
        "domain": <A SPECIFIC DOMAIN>
      }
    }
  },
  "dest": {
    "index": <AN EXISTING EMPTY INDEX>
  }
}

运行此操作将产生以下结果:

{
    "took": 37,
    "timed_out": false,
    "total": 0,
    "updated": 0,
    "created": 0,
    "deleted": 0,
    "batches": 0,
    "version_conflicts": 0,
    "noops": 0,
    "retries": {
        "bulk": 0,
        "search": 0
    },
    "throttled_millis": 0,
    "requests_per_second": -1,
    "throttled_until_millis": 0,
    "failures": []
}

因此它“成功”,但是没有拾取要移动的文档。当我针对源索引的_reindex端点从_search调用运行查询时,它返回我要移动的所有文档,因此我知道我的查询是合法的。最初,我认为也许源索引被配置为不允许这样的重新索引,但是我运行了一个_reindex命令而不进行查询(即,从源索引复制所有文档)并且它起作用了。预先感谢!

1 个答案:

答案 0 :(得分:0)

我修复了它。问题是请求上的_type字段;我要移动的文档没有类型_doc。将该字段更改为适当的值可以解决此问题。