【发布时间】:2022-01-03 17:02:10
【问题描述】:
首先,我正在使用 Spring Data Elasticsearch。
假设我有大约 10k 个文档,每个 Car 实体和 Owner 实体:
Car: {VIN, make, model, color}
Owner: {VIN, owner}
假设每辆车可以有 0 位车主。 最后,我想要一堆由匹配的汽车数据和所有者数据组成的 CarProfile 对象。
CarProfile: {VIN, make, model, color, List<String> owners}
我正在考虑两种方法:
- 将所有 Car 和 Owner 数据索引到 ES 中。按 VIN 对文档进行分组,遍历每个组,将每个组转换为 CarProfile 对象。
- 将所有所有者数据索引到 ES。遍历 Car 数据并为每辆 Car 检索任何与 VIN 匹配的 Owner 信息,然后将所有数据转换为 CarProfile 对象。
方法 1 会更方便,但我不确定这种方法是否可行。似乎聚合只能给你数据的一个子集(比如每辆车有多少车主),而不是所有的文档数据。欢迎提出任何建议。
【问题讨论】: