gpt4 book ai didi

elasticsearch - Elasticsearch 分片/路由

转载 作者:行者123 更新时间:2023-12-03 00:30:56 30 4
gpt4 key购买 nike

我有一个 Multi-Tenancy 系统,并且我正在尝试设计ElasticSearch以支持 Multi-Tenancy 。我已经在网上搜索过,但是我发现的所有帖子在实践中均未指定具体操作方法。
基本思想是在每个索引上具有每个客户1个分片,并使用自定义路由来查询客户专用分片。这很清楚。现在,我该如何实现呢?将来如何为每个索引指定“键值”创建多个分片,以便查询该特定分片?代码示例将很有帮助。

非常感谢。

最佳答案

我认为这不是实现 Multi-Tenancy 的正确方法,而不是在分片级别。

您到底想实现什么?我假设您希望不同的用户(或者更好的是,不同的角色)可以访问索引的不同部分。在这种情况下,您应该看看document-level security permissions

在实践中如何实现?假设您有一个名为multitenants-index的索引,并且有两个租户,使得:(i)第一个租户只能读/写具有"tenant": 1字段的文档,(ii)第二个租户只能读/写具有以下字段的文档:字段"tenant": 2。然后,您可以创建以下两个角色:

POST /_xpack/security/role/first_tenant
{
"indices": [
{
"names": [ "multitenants-index" ],
"privileges": [ "read", "write" ],
"query": "{\"match\": {\"tenant\": 1}}"
}
]
}

POST /_xpack/security/role/second_tenant
{
"indices": [
{
"names": [ "multitenants-index" ],
"privileges": [ "read", "write" ],
"query": "{\"match\": {\"tenant\": 2}}"
}
]
}

关于elasticsearch - Elasticsearch 分片/路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55065491/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com