三人行必有我师

elasticsearch-rest-client 能使用nested吗?

Elasticsearch | 作者 flowliu | 发布于2019年12月17日 | 阅读数:1888

产品开发中遇到一个统计报表,有4层数据的关联。
用户信息-->用户订单信息-->订单关联的项目信息-->项目关联的耗材信息
这四层数据会显示在一个大的table中。
类似这样的数据结构,各位有没有好的解决方案。
已邀请:

laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net

赞同来自:

1,仔细考虑您业务场景,能不能宽表存储。es不同于mysql不再有范式的概念,而是强调:反范式。反范式的典型实现就是:宽表。
2,如果非要嵌套,仔细考虑:动态更新子数据频繁吗?如果频繁考虑:nested 如果不频繁:用父子文档
3,如果考虑用nested和join父子,就提前评估性能问题。

code4j - coder github: https://github.com/rpgmakervx

赞同来自:

能不用组合关系就不要用,性能差太多了,我经历过的业务,同一个数量级的索引,普通的查询和父子关系嵌套查询速度差了至少十倍

God_lockin

赞同来自:

先回答题目,nested是支持的,只是乱七八糟属性设进去比普通数据麻烦很多
 
然后,建议梳理下真实业务,是不是真的有那么多乱七八糟的数据需要被写在query条件里,还是大部分的东西只是id之类的 东西做filter
 
nested文档用来存取性能很差,见过的也就OTA网站拿来放房间信息了

要回复问题请先登录注册