C/C++教程

Easysearch 可搜索快照功能,看这篇就够了

本文主要是介绍Easysearch 可搜索快照功能,看这篇就够了,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

可搜索快照功能改变了我们对备份数据的查询方式。以往要查询备份数据时,要先找到备份数据所在的快照,然后在一个合适的环境中恢复快照,最后再发起请求查询数据。这个处理路径很长,而且很消耗时间。可搜索快照功能将大大简化该处理路径,节约时间。

角色设置

相信你对节点角色的概念已经有所熟悉。要启用可搜索快照功能,Easysearch 集群中必须至少有一个节点拥有 search 角色。参考设置如下。

node.roles: ["search"]

node.search.cache.size: 500mb

  • node.roles: 指定节点角色,只有 search 角色的节点才能去搜索快照中的数据。

  • node.search.cache.size: 执行快照搜索时,数据缓存大小。

混合角色设置,参考如下。

node.roles: ["master","data","search","ingest"]

node.search.cache.size: 500mb

创建快照

可搜索快照功能使用普通快照作为基础,创建快照命令不变。比如我创建且备份个 infini 索引。

# 创建 infini 索引

POST infini/_doc

{

"test":"Searchable snapshots"

}

  

# 创建快照备份 infini 索引

PUT _snapshot/my-fs-repository/1

{

"indices": "infini",

"include_global_state": false

}

创建快照索引

可搜索快照功能的核心是搜索快照中的索引,这一步是通过快照索引实现的。为了和集群中的普通索引区别开来,我们将实际存储在快照中的索引称为快照索引。通过使用 Easysearch 的 _restore API 并指定 remote_snapshot 存储类型来创建快照索引。

创建快照索引时,注意名称不能与当前索引名称重复。通常我们备份完索引后,可删除索引释放节点磁盘空间,创建快照索引时默认使用原来的名称。

# 删除 infini 索引释放磁盘空间

DELETE infini

  

# 创建快照索引,使用原索引名称

POST /_snapshot/my-fs-repository/1/_restore

{

"indices": "infini",

"include_global_state": false,

"include_aliases": false,

"storage_type": "remote_snapshot"

}

创建快照索引的命令和还原快照的命令非常相似,关键在于 storage_type 参数指定 remote_snapshot 存储类型。

如果要将快照中的全部索引都创建快照索引,可省略 indices 参数。

如果想在创建快照索引时指定不同的名字,参考下面的命令。

POST /_snapshot/my-fs-repository/1/_restore

{

"indices": "infini",

"include_global_state": false,

"include_aliases": false,

"storage_type": "remote_snapshot",

"rename_pattern": "(infini)",

"rename_replacement": "snapshot-$1"

}

  • rename_pattern: 使用此选项指定索引匹配的正则表达式。使用捕获组重用索引名称的部分。

  • rename_replacement: 使用 $0 包括整个匹配索引名称,使用 $1 包括第一个捕获组的内容,等等。

上述命令创建出来的快照索引名称是 snapshot-infini 。

经过上面一系列的操作,我已经拥有了两个快照索引。

搜索快照索引

我们通过搜索快照索引达到搜索快照数据的目的,令人开心的是搜索快照索引和搜索普通索引的语法完全一样。😀

常见问题

如何区分普通索引和快照索引呢?

我们可以通过索引的 settings 信息区分,快照索引的 settings 信息中有 store.type: remote_snapshot 信息,普通索引没有此信息。

快照索引能写入数据吗?

快照索引无法写入,数据仍然保持在快照格式中存储在存储库中,因此可搜索快照索引本质上是只读的。 任何尝试写入可搜索快照索引的操作都会导致错误。

快照索引不想要了怎么办?

直接删除,需要时再执行创建快照索引流程。此外快照在创建快照索引后,无法直接删除快照,要先删除快照索引。

如果您对上述内容有任何疑问,欢迎与我讨论。

这篇关于Easysearch 可搜索快照功能,看这篇就够了的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!