索引恢复优先级编辑

未分配的分片会尽可能按优先级顺序恢复。索引按以下优先级顺序排序

  • 可选的 index.priority 设置(越高优先级越高)
  • 索引创建时间(越早创建优先级越高)
  • 索引名称(字母顺序靠前优先级越高)

这意味着,默认情况下,较新的索引将在较旧的索引之前恢复。

使用每个索引动态可更新的 index.priority 设置来自定义索引优先级顺序。例如

resp = client.indices.create(
    index="index_1",
)
print(resp)

resp = client.indices.create(
    index="index_2",
)
print(resp)

resp = client.indices.create(
    index="index_3",
    body={"settings": {"index.priority": 10}},
)
print(resp)

resp = client.indices.create(
    index="index_4",
    body={"settings": {"index.priority": 5}},
)
print(resp)
response = client.indices.create(
  index: 'index_1'
)
puts response

response = client.indices.create(
  index: 'index_2'
)
puts response

response = client.indices.create(
  index: 'index_3',
  body: {
    settings: {
      'index.priority' => 10
    }
  }
)
puts response

response = client.indices.create(
  index: 'index_4',
  body: {
    settings: {
      'index.priority' => 5
    }
  }
)
puts response
PUT index_1

PUT index_2

PUT index_3
{
  "settings": {
    "index.priority": 10
  }
}

PUT index_4
{
  "settings": {
    "index.priority": 5
  }
}

在上面的例子中

  • index_3 将首先恢复,因为它具有最高的 index.priority
  • index_4 将在下一步恢复,因为它具有次高的优先级。
  • index_2 将在下一步恢复,因为它创建的时间更近。
  • index_1 将最后恢复。

此设置接受一个整数,并且可以使用 更新索引设置 API 在活动索引上更新

resp = client.indices.put_settings(
    index="index_4",
    body={"index.priority": 1},
)
print(resp)
response = client.indices.put_settings(
  index: 'index_4',
  body: {
    'index.priority' => 1
  }
)
puts response
PUT index_4/_settings
{
  "index.priority": 1
}