Elasticsearch 的官方文档说我们可以使用 URL 作为 Read-only repository 的设置。该文档还表示 URL 支持多种协议,包括 HTTP。(参考:https ://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html#_read_only_url_repository )
我知道快照作为目录结构存储在存储库中,其中包含 Lucene 索引和一些元数据。
鉴于上述条件,我认为对 HTTP URL 存储库的目录 URL 的 GET 请求需要以某种格式返回其中的文件/目录列表,以便快照 API 恢复快照。至少,我认为需要对包含 Lucene 索引的目录进行某种ls
操作。
问题:
- 我的理解正确吗?
- 如果是这样,目录 URL 所需的格式是什么?(对使快照 API 恢复工作的目录的 HTTP 请求所需的响应是什么?)
我也用日语问过这个问题 SO 并得到了答案。
快照在存储时会生成一些文件,这些文件将名称存储到数据文件中。即:
index
,metadata-THESNAPSHOTNAME
,snapshot-THESNAPSHOTNAME
(注意snapshot-THESNAPSHOTNAME
文件是在几个目录下生成的) . 从这些文件中生成文件的相对路径;因此不需要ls
-ing 到目录 URL。所以我的问题的答案是: