如何解决ElasticSearch将两个文档合并/合并为一个文档
我有ElasticSearch索引,该索引包含员工及其经理的信息。每个员工都有一个ID,每个经理也是一个员工,因此经理与员工具有相同的文档结构。唯一的区别是员工将具有非null的managerId,而经理则没有managerId。
简化的文档结构如下:
Employeee document: { employeeId:1,...,managerId:1234,name:..,address:...,etc...}
Manager document: {employeeId:1234,managerId:null,....,etc...}
我通常按员工的姓名或地址进行搜索,但我希望结果不仅包括员工详细信息,还包括他们的经理详细信息,即将经理文档作为新字段显示在员工搜索结果中。
因此,我希望生成的JSON文档类似于以下内容(请参阅新添加的 managerDetails 字段,其中包含有关管理器的所有信息):
{ employeeId:1,managerDetails:{employeeId:1234,etc...},{employeedId:...,...}
限制:我必须说,我无法更改索引文档的结构。
可能的解决方案:对于每位员工运行两个查询,一个用于员工,一个用于经理,并将结果合并到应用程序逻辑中,这对我来说不是一个解决方案,因为存在数百万个文档,并且将其最小化请求号很关键?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。