加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何使用elasticsearch和索引对象之间的关联?

发布时间:2020-12-17 02:33:52 所属栏目:百科 来源:网络整理
导读:我正在使用Tire gem for Rails,并且已经提出了一些关于模型关联的问题.你是如何与他们合作的?假设你有一个人和一辆车之间的关系.每个人都有很多车.现在,如果你想索引汽车对象,你怎么做?例如,如何通过搜索car.make来检索一个人? 一般来说,我可以看到以文档
我正在使用Tire gem for Rails,并且已经提出了一些关于模型关联的问题.你是如何与他们合作的?假设你有一个人和一辆车之间的关系.每个人都有很多车.现在,如果你想索引汽车对象,你怎么做?例如,如何通过搜索car.make来检索一个人?

一般来说,我可以看到以文档为中心的elasticsearch与RDBMS没有相同的概念.一对一,一对多和多对多.

例如,如果你有多对多关系,并且你只想要具有关系另一端属性的对象是不可能的?弹性搜索更适合像MongoDB这样的NoSQL数据库吗?

解决方法

如何在Elasticsearch中建模数据有很多可能的策略,包括关系.在Elasticsearch中,至少有三种相关数据策略:

>只需使用JSON,它就能流利地表达层次结构,
>对于Car实际上是汽车列表的情况,请使用嵌套类型,
>在需要单独索引两个实体的情况下使用父/子支持.

使用Tire,首先检查并在代码中尝试此答案:Elasticsearch,Tire,and Nested queries / associations with ActiveRecord.它应包含您的方案所需的所有信息.该代码也可用于separately.

参考文献:

> http://www.spacevatican.org/2012/6/3/fun-with-elasticsearch-s-children-and-nested-documents/
> Elasticsearch,and Nested queries / associations with ActiveRecord
> https://gist.github.com/karmi/3200212

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读