仅限源代码的存储库编辑

您可以使用仅限源代码的存储库来创建最小的、仅限源代码的快照,其占用的磁盘空间比常规快照少 50%。

与其他存储库类型不同,仅限源代码的存储库不直接存储快照。它将存储委托给另一个已注册的快照存储库。

当您使用仅限源代码的存储库创建快照时,Elasticsearch 会在委托的存储库中创建一个仅限源代码的快照。此快照仅包含存储的字段和元数据。它不包含索引或文档值结构,并且在恢复后不能立即搜索。要搜索恢复的数据,您必须先将其重新索引到新的数据流或索引中。

仅当启用了 _source 字段且未应用源代码过滤时,才支持仅限源代码的快照。当您恢复仅限源代码的快照时

  • 恢复的索引是只读的,并且只能提供 match_all 搜索或滚动请求以启用重新索引。
  • 不支持 match_all_get 请求以外的查询。
  • 恢复的索引的映射为空,但可以从类型顶级 meta 元素中获取原始映射。

在注册仅限源代码的存储库之前,请使用 Kibana 或创建快照存储库 API 来注册另一个类型的快照存储库以用于存储。然后注册仅限源代码的存储库,并在请求中指定委托的存储库。

response = client.snapshot.create_repository(
  repository: 'my_src_only_repository',
  body: {
    type: 'source',
    settings: {
      delegate_type: 'fs',
      location: 'my_backup_repository'
    }
  }
)
puts response
PUT _snapshot/my_src_only_repository
{
  "type": "source",
  "settings": {
    "delegate_type": "fs",
    "location": "my_backup_repository"
  }
}

存储库设置编辑

chunk_size
(可选,字节值)快照中文件的最大大小。在快照中,大于此大小的文件将被分解为此大小或更小的块。默认为 null(文件大小不受限制)。
compress
(可选,布尔值)如果为 true,则会在快照中压缩元数据文件,例如索引映射和设置。数据文件不会被压缩。默认为 true
delegate_type

(可选,字符串)委托的存储库类型。有关有效值,请参阅type 参数

source 存储库可以使用其委托存储库类型的 settings 属性。请参阅仅限源代码的存储库

max_number_of_snapshots
(可选,整数)存储库可以包含的最大快照数。默认为 Integer.MAX_VALUE,即 2^31-12147483647
max_restore_bytes_per_sec
(可选,字节值)每个节点的最大快照恢复速率。默认为无限制。请注意,恢复也会通过恢复设置进行限制。
max_snapshot_bytes_per_sec
(可选,字节值)每个节点的最大快照创建速率。默认为每秒 40mb。请注意,如果设置了托管服务的恢复设置,则默认为无限制,并且速率还会通过恢复设置进行限制。
readonly

(可选,布尔值)如果为 true,则存储库为只读。集群可以从存储库中检索和恢复快照,但不能写入存储库或在其中创建快照。

只有具有写访问权限的集群才能在存储库中创建快照。连接到存储库的所有其他集群都应将 readonly 参数设置为 true

如果为 false,则集群可以写入存储库并在其中创建快照。默认为 false

如果您在多个集群中注册了同一个快照存储库,则只有一个集群应该具有对该存储库的写访问权限。让多个集群同时写入存储库可能会损坏存储库的内容。