一尘不染

在ElasticSearch中,我应该为单独但相关的实体使用多个索引吗?

elasticsearch

添加索引的开销有据可查,但是我无法找到有关何时使用各种索引的各种信息,这些信息与要建立索引的各种文档类型有关。

这是一个通用示例来说明问题:

说我们有以下实体

  • 产品(名称,ProductID,ProductCategoryID,商店列表)
  • 产品类别(名称,ProductCategoryID)
  • 商店(名称,商店ID)

我是否应该将这三种不同类型的文档转储到一个索引中,每个索引都具有适当的名称elasticsearch type

我很难确定在一个索引与多个索引之间划清界限的位置。

如果我们添加不相关的实体“网页”,该怎么办。绝对是一个单独的索引?


阅读 272

收藏
2020-06-22

共1个答案

一尘不染

最近,我从头开始对ElasticSearch后端进行建模,从我的角度来看,最好的选择是将所有相关文档类型放在同一索引中。

我读到有些人并发索引过多(每种类型1个索引)存在问题。在同一索引中统一相关类型的性能和健壮性更好。

此外,如果类型在同一索引中,则可以使用“
_parent ”字段创建层次结构模型,这些模型允许您将有趣的特征搜索为“
has_child ”和“
has_parent ”,当然您不必在模型中重复数据。

2020-06-22