首页 > 解决方案 > Elasticsearch 5 - 许多小型但非常不同的索引的设计方法?

问题描述

从 5.x 版本中删除映射中的“类型”后,我必须创建许多索引。所有指数都有没有太多相似之处的文件。

例如,

Application-1 字段的形式 - A (String) Field - B (int) Field - C (Date)

申请表 - 2 字段 - X (int) 字段 - Y (int) 字段 - Z (long)

每个租户有多达 50 个应用程序。它可以扩展到 500 个租户。因此,选定的设计方法可以有 500 X 50 = 25000 个指数。但是,每个索引/应用程序的内存大小可能非常小(即 KB 到最大的几个 MB)

我阅读了论坛,大多数人建议将密集数据保留在最少数量的索引中。但就我而言,有许多模型没有重叠字段。所以,我确实看到了一个选项,即每个模型的索引(即我的用例中的应用程序形式)

我的问题:考虑用例是好的设计方法吗?还是更好的选择?

标签: elasticsearch-5

解决方案


有一种解决方案仍然存在假类型,Elastic 团队建议如果每个分片的文档数量非常少。

{
  "application1": {
    "a": "string",
    "b": "number",
    "c": "date"
  },
  "application2": {
    "x": "number",
    "y": "number",
    "z": "number"
}

因此,在这种情况下application1,并application2为您提供类型。


推荐阅读