我将在我的应用程序中使用 ElasticSearch 作为搜索存储库。当对象之间存在关联/关系时,关于在搜索索引中组织对象的最佳做法是什么,我有几个问题。
据我所知,搜索索引是一个扁平结构,不能像数据库一样使用关系概念。
假设您有这些域对象:
Person : - 与Car是一对多的关系
汽车: - 由一个人拥有,与人多对一
部门: - 每个部门有很多人,每个人可能属于多个部门,多对多
将其存储在搜索索引中的最佳方法是什么?有什么选择?例如,我想找到属于某个部门的所有人员,或者汽车功率超过 300 马力的所有人员。如果重要,我正在使用 Java 客户端 API。