我有以下索引及类型索引:products
类型:products_info, products_img, products_attrs
products_info是存放商品信息的
products_img是存放商品图片的(一个商品对应多张图片 = 对应多个属性,每个属性都有一张图片)
products_attrs是存放商品多属性的(一个商品对应多个属性)
那么,我需要使用elasticsearch做到类似于sql的连表查询
比如我搜索products_info商品关键词为:bag的并且搜索products_attrs的属性id(该ID并不是自增ID)必须大于0
那么在elasticsearch中该如何做到呢?
请帮助我,谢谢!
类型:products_info, products_img, products_attrs
products_info是存放商品信息的
products_img是存放商品图片的(一个商品对应多张图片 = 对应多个属性,每个属性都有一张图片)
products_attrs是存放商品多属性的(一个商品对应多个属性)
那么,我需要使用elasticsearch做到类似于sql的连表查询
比如我搜索products_info商品关键词为:bag的并且搜索products_attrs的属性id(该ID并不是自增ID)必须大于0
那么在elasticsearch中该如何做到呢?
请帮助我,谢谢!
3 个回复
laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net
赞同来自: rochy
如果表结构是同步过来的,建议先在关系型数据库中创建视图后再做同步操作。
milu2003
赞同来自:
如果可以,我建议你直接把products_attrs的信息嵌入products_info表。避免联合查询,以空间换时间。否则你就只能父子文档联合查询了。麻烦且性能受到影响
yayg2008
赞同来自: