elasticsearch Elasticsearch增量快照如何处理已删除的文档?,elasticsearch,elasticsearch-snapshot,elasticsearch,Elasticsearch Snapshot" /> elasticsearch Elasticsearch增量快照如何处理已删除的文档?,elasticsearch,elasticsearch-snapshot,elasticsearch,Elasticsearch Snapshot" />

elasticsearch Elasticsearch增量快照如何处理已删除的文档?

elasticsearch Elasticsearch增量快照如何处理已删除的文档?,elasticsearch,elasticsearch-snapshot,elasticsearch,Elasticsearch Snapshot,我定期在s3存储桶中拍摄我的ES群集的快照,因此我想知道,如果我正在从群集中删除旧文档并定期添加新文档,那么在拍摄快照后,ES如何处理这种情况—是从我以前的快照中删除文档,还是ES如何保留我文档的备份。请解释?当ES拍摄快照时,ES不会拍摄文档的快照,而是拍摄片段的快照。当然,这些段包含文档 为了理解增量的概念,让我们以下面的例子为例 假设有一个名为my_index的索引,其中包含1个主碎片(碎片0)。当数据写入索引时,它将为碎片创建段文件 最初,索引my_index可能如下所示: "my_in

我定期在s3存储桶中拍摄我的ES群集的快照,因此我想知道,如果我正在从群集中删除旧文档并定期添加新文档,那么在拍摄快照后,ES如何处理这种情况—是从我以前的快照中删除文档,还是ES如何保留我文档的备份。请解释?

当ES拍摄快照时,ES不会拍摄
文档的快照
,而是拍摄
片段的快照
。当然,这些段包含文档

为了理解增量的概念,让我们以下面的例子为例

假设有一个名为
my_index
的索引,其中包含
1个主碎片(碎片0)
。当数据写入索引时,它将为碎片创建段文件

最初,索引my_index可能如下所示:

"my_index"
"consists of shard 0"
"shard 0 consists of segements A,B,C"
在时间T1拍摄索引my_index的快照S1

快照S1包含以下元数据:

Index: my_index
Shards: 0
Segments: A,B,C
And then it will copy the segment files.
Index: my_index Shards: 0 Segments: A,D,E
现在,您可以索引更多数据。ES将分段B和C合并到新的分段D中,并为新数据添加新的分段E。 合并段后,将从碎片中删除旧段。同样,当文档被删除时,会发生段合并

现在索引my_index的碎片0包含段A、D、E

在时间T2拍摄索引my_index的快照S2。 S2将检查它需要哪些文件

It will NOT copy segment A (because it already exists in the repo - this is what is meant by incremental). 
It will copy segment D
it will copy segment E
快照S2包含以下元数据:

Index: my_index
Shards: 0
Segments: A,B,C
And then it will copy the segment files.
Index: my_index Shards: 0 Segments: A,D,E
这里的增量是什么? 增量特性适用于新段文件,而不一定适用于新数据。 对于快照S2,未复制段A,因为它已包含在S1中

删除快照S1时会发生什么情况?
1.段B和段C将被删除,因为它们不再被引用
2.排除段A,因为它正被快照S2引用

当您删除索引my_index时会发生什么情况?
快照仍将包含与my_索引相关的分段文件,允许您随时恢复索引

删除文档时会发生什么情况? 删除文档时,最终合并段文件,创建新的段。因此,当您在删除文档后拍摄快照时,快照将不会包含该文档


希望这有帮助

当ES拍摄快照时,ES不会拍摄
文档的快照
,而是拍摄
片段的快照
。当然,这些段包含文档

为了理解增量的概念,让我们以下面的例子为例

假设有一个名为
my_index
的索引,其中包含
1个主碎片(碎片0)
。当数据写入索引时,它将为碎片创建段文件

最初,索引my_index可能如下所示:

"my_index"
"consists of shard 0"
"shard 0 consists of segements A,B,C"
在时间T1拍摄索引my_index的快照S1

快照S1包含以下元数据:

Index: my_index
Shards: 0
Segments: A,B,C
And then it will copy the segment files.
Index: my_index Shards: 0 Segments: A,D,E
现在,您可以索引更多数据。ES将分段B和C合并到新的分段D中,并为新数据添加新的分段E。 合并段后,将从碎片中删除旧段。同样,当文档被删除时,会发生段合并

现在索引my_index的碎片0包含段A、D、E

在时间T2拍摄索引my_index的快照S2。 S2将检查它需要哪些文件

It will NOT copy segment A (because it already exists in the repo - this is what is meant by incremental). 
It will copy segment D
it will copy segment E
快照S2包含以下元数据:

Index: my_index
Shards: 0
Segments: A,B,C
And then it will copy the segment files.
Index: my_index Shards: 0 Segments: A,D,E
这里的增量是什么? 增量特性适用于新段文件,而不一定适用于新数据。 对于快照S2,未复制段A,因为它已包含在S1中

删除快照S1时会发生什么情况?
1.段B和段C将被删除,因为它们不再被引用
2.排除段A,因为它正被快照S2引用

当您删除索引my_index时会发生什么情况?
快照仍将包含与my_索引相关的分段文件,允许您随时恢复索引

删除文档时会发生什么情况? 删除文档时,最终合并段文件,创建新的段。因此,当您在删除文档后拍摄快照时,快照将不会包含该文档


希望这有帮助

@Yash Tandon-如果这个答案对你有帮助,你介意接受吗?@Yash Tandon-如果这个答案对你有帮助,你介意接受吗?