弹性搜索索引状态

Elastic Search Index Status

我正尝试按照以下建议设置脚本重建索引操作:http://www.elasticsearch.org/blog/changing-mapping-with-zero-downtime/

为了遵循创建新索引、别名化然后删除旧索引的建议,我需要有一种方法来判断新索引上的索引操作何时完成。理想情况下通过 REST 接口。

它有 8000 万行要编制索引,可能需要几个小时。

我在文档中找不到任何有用的东西..

您可以尝试使用 _stats :http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-stats.html

例如:

{
  "_shards" : {
    "total" : 10,
    "successful" : 5,
    "failed" : 0
  },
  "_all" : {
    "primaries" : {
      "docs" : {
        "count" : 0,
        "deleted" : 0
      },
      "store" : {
        "size_in_bytes" : 575,
        "throttle_time_in_millis" : 0
      },
      "indexing" : {
        "index_total" : 0,
        "index_time_in_millis" : 0,
        "index_current" : 0,
        "delete_total" : 0,
        "delete_time_in_millis" : 0,
        "delete_current" : 0,
        "noop_update_total" : 0,
        "is_throttled" : false,
        "throttle_time_in_millis" : 0
      },

我想,你可以比较一下 _all.total.docs.count 和 _all.total.indexing.index_current