我正在为 Rails 使用轮胎 gem,并且已经提出了一些关于模型关联的问题。你如何与他们合作?假设您在人与汽车之间建立了关系。每个人都有许多汽车。现在如果你也想索引汽车对象,你怎么做?例如,您如何通过搜索 car.make 来检索一个人?
一般来说,我可以看到以文档为中心的弹性搜索与 RDBMS 的概念不同。一对一、一对多和多对多。
例如,如果您有一个多对多关系,并且您只想要具有关系另一端属性的对象,这是不可能的?弹性搜索是否更适合 MongoDB 等 NoSQL 数据库?
我正在为 Rails 使用轮胎 gem,并且已经提出了一些关于模型关联的问题。你如何与他们合作?假设您在人与汽车之间建立了关系。每个人都有许多汽车。现在如果你也想索引汽车对象,你怎么做?例如,您如何通过搜索 car.make 来检索一个人?
一般来说,我可以看到以文档为中心的弹性搜索与 RDBMS 的概念不同。一对一、一对多和多对多。
例如,如果您有一个多对多关系,并且您只想要具有关系另一端属性的对象,这是不可能的?弹性搜索是否更适合 MongoDB 等 NoSQL 数据库?
在 Elasticsearch 中建模数据有很多可能的策略,包括关系。在 Elasticsearch 中,相关数据至少有三种策略:
Car
实际是汽车列表的情况,请使用嵌套类型,使用 Tire,首先检查并在代码中尝试这个答案:Elasticsearch、Tire 和 Nested queries/associations with ActiveRecord。它应该包含您的方案所需的所有信息。该代码也可单独获得。
参考: