我是Elasticsearch的新手,我有一个架构问题。我有一个存储文件的系统。其中一些文件是PUBLIC,其中一些是私人文件。
在主系统中输入,索引和搜索文档。到目前为止,这很容易实现。
虽然这是一个额外的要求。
我想知道我是否可以执行以下操作 - >
1,克隆主ES实例 2,删除所有私密文件 3,重新索引整个索引 4,创建干净ES的快照 5,将此快照还原到Slave Public实例。
这对我来说听起来很复杂。是否有更好/更简单的方法来做到这一点?
提前感谢任何指针,
答案 0 :(得分:2)
我建议将此方法作为替代方案。在主Elasticsearch集群上创建两个索引,Public和Private。还要创建一个覆盖两者的索引别名http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-aliases.html,以便您可以方便地同时查询两个索引。
然后,您可以使用Elasticsearch快照并还原http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-snapshots.html来仅拍摄公共索引的快照,并将其还原到另一个群集。
这样你就有另一个ES集群,其中只有Public索引。
另一种方法是将每个索引(公共和私有)保留在它自己的集群中。如果要跨公共和私有运行查询,请使用部落节点。部落节点将连接到两个集群并在它们之间运行查询:http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-tribe.html