处理Elasticsearch中多对多关系的最佳实践?

 陈艹桂肀琰 发布于 2022-12-14 18:38

我很确定我知道这个问题的答案,但我正在寻找具有更多Elasticsearch经验的人的确认.

假设我有一个包含作者和书籍的数据库.作者可以与0本或更多书籍相关联,并且书籍可以与1个或更多作者相关联.我们希望用户能够搜索作者姓名以查找作者及其所有书籍,并且我们还希望他们能够搜索书名以取回其作者.我们知道会有很多多作者的书.

因为Elasticsearch只直接支持一个级别的父子关系,并且因为子级只能有一个父级,所以在我看来,我们需要对数据进行非规范化并使用嵌套对象来建立这种关系.如果我们修改已发布23本书的作者的属性,我们将需要重新索引作者记录和他/她的所有23本书记录.

在我的幻想世界中,我希望拥有这23本书各自包含一系列作者ID,以便在重新索引作者时我不必重新索引书籍.如果一本书只能有一个作者,看起来这肯定可以使用Elasticsearch的父子支持,但由于多对多的要求,我必须使用嵌套对象并在任何更改时重新索引任何相关对象.

它是否正确?它看起来似乎更多的工作(当然还有更多的更新),但我想以正确的方式做到这一点,而不是引入复杂性,错误和疯狂的"聪明"方式.

任何指导将不胜感激.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有