【问题标题】:Is it possible for an Elasticsearch index to have a primary key comprised of multiple fields?Elasticsearch 索引是否可以具有由多个字段组成的主键?
【发布时间】:2018-03-21 15:52:03
【问题描述】:

我有一个多租户系统,每个租户在 MongoDB 部署中都有自己的 Mongo 数据库。

但是对于弹性搜索索引,这一切都通过 Mongoosastic 进入一个弹性实例,并使用 TenantDB 标记以在搜索时保持数据分离。

目前,我们在多个数据库的测试数据中为各种配置集合(不同的文档内容,相同的 _id)重复使用了一些相同的 _id,但是这在同步到弹性时会导致问题,因为它们在不同的数据库中当它们进入具有相同类型和 ID 的弹性时,其中一个会被丢弃。

是否可以同时指定 ID 和 TenantDB 作为主键?

【问题讨论】:

    标签: elasticsearch mongoosastic


    【解决方案1】:

    方案一:可以在 Elasticsearch 中搜索多个索引。但是,如果你不能分离你的数据库索引,你可以按照下面的方法。在将数据同步到 elasticsearch 时,使用模式创建弹性文档 _id。例如,从 mongoDb1 使用 mdb1_{mongo_id},从 mongoDb2 使用 mdb2_{mongo_id} 等。如果您在同一个 mongo 数据库中没有相同的 _id,这将是唯一的。

    解决方案 2:分离索引。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-08
      • 1970-01-01
      • 2016-10-17
      • 1970-01-01
      • 2022-12-02
      • 1970-01-01
      • 2013-11-08
      • 2021-11-05
      相关资源
      最近更新 更多