Q:非洲食人族的酋长吃什么?

elasticsearch 处理mysql多表关联时数据更新问题

Elasticsearch | 作者 bhdweb | 发布于2017年09月07日 | 阅读数:5795

        各位大神大家好,问下一个关于elasticsearch搜索引擎的问题,就是我们现在mysql中不是经常会存在多个表用join来关联进行统计,像group by 等去查数据吗? 如果表大的话,查询就非常慢,现在想用es来解决这个问题,一般设计思路是怎样的?es貌似没有所谓的表关联查询的概念,是在es里面建一个大的文档,把这几张表的字段全部丢进去吗?如果是全部字段丢到es里面做索引的话,那对于一对多的数据的增量数据处理是怎么处理的?比如一张订单表(order)和一张订单明细表(order_item),我做成es文档的时候,结构是这样:{ orderId : xxx , payTime: xxxx, status : xxxx, orderItem : [{ orderId : xxx, goodsId: xxxx, price : xxxx, goodsName : 商品名称}, { orderId : xxx, goodsId: xxxx, price : xxxx, goodsName : 商品名称}] } ,那如果我更改了商品名称的话,那岂不是所有用到这个商品名称的es文档记录都是重新put一次来更新索引? 像这样的场景大家有什么好的解决方案?
已邀请:

Cheetah

赞同来自:

将orderItem做成nest结构或者父子结构

bhdweb

赞同来自:

DB多表join对应ES中一个doc,然后增量更新有什么好的解决方案没

要回复问题请先登录注册