【发布时间】:2018-01-02 16:14:21
【问题描述】:
我们将弹性搜索用于以下用例。
Elasticsearch 版本:5.1.1
注意:我们使用的是 AWS 托管的 ElasticSearch
我们有一个多租户系统,在每个租户中存储多个事物的数据,并且租户的数量将每天增加。
exa:每个租户都会有以下信息。
1] tickets
2] sw_inventory
3] hw_inventory
目前的索引策略如下:
索引名称:
租户 ID (GUID) 例如:tenant_xx1234xx-5b6x-4982-889a-667a758499c8
类型:
1] tickets
2] sw_inventory
3] hw_inventory
我们面临的问题:
1] 常见字段的映射冲突例如:(id,name,userId) 类型 (tickets,sw_inventory,hw_inventory)
2] 随着租户数量的增加,指数的数量也可以达到 1000 或 2000。
如果我们反转索引策略会是个好主意吗?
例如: 索引名称:
1] tickets
2] sw_inventory
3] hw_inventory
类型:
tenant_tenant_id1
tenant_tenant_id2
tenant_tenant_id3
tenant_tenant_id4
所以只有 3 个巨大的索引,N 种类型作为租户。
那么在这种情况下的问题是哪种解决方案更好?
1] 许多小索引和 3 种类型
或
2] 3个巨大的索引和许多类型
问候
【问题讨论】:
-
Multiple mapping types in an index are deprecated。 Elasticsearch 6 及更高版本不允许创建具有多个映射类型的索引。
-
P.S.不要在一个索引中使用多个类型。这会使一切变得缓慢,并且对未来不利。
-
谢谢大家!!这帮助很大
标签: elasticsearch