ElasticSearch关系查询?

我有两个ES文档(例如):

{
    "id": "person_1","name": "John"
}

{
    "id": "organisation","employeesById": [ "person_1" ]
}

是否可以执行查询以返回所有雇员名为“ John”的组织,还是我必须对上述数据结构进行非规范化处理,然后再执行employeeById.employee.name?

Kelvin520 回答:ElasticSearch关系查询?

在不了解您的用例的情况下,我建议您尝试进行非规范化。例如,

{
  "id": "person_1","name": "John","organisation": "organisation_id"
}

如果(1)两个文档都存储在相同的索引中,并且(2)一个人经常更改组织,则保持非规范化文档的一致性将要求更高(需要检索和更新许多相关文档)。在这种情况下,我建议通过使用Join数据类型(link to Elastic documentation)和使用parent-join查询来运行搜索(link to Elastic documentation)来定义关系人组织。

本文链接:https://www.f2er.com/3133241.html

大家都在问