【发布时间】:2019-03-21 15:29:40
【问题描述】:
我们有一个在线商店,将产品详细信息存储在三个表格中:
- 产品(名称、描述、品牌) - 共 10.000 个条目
- 产品变体(尺寸、价格、可用性) - 总共 80.000 个条目
- 产品属性(颜色) - 总共 60.000 个条目
这给出了大约 400.000 个项目的总组合。
例子:
- 产品是“Nike Air Max”
- 变体为“36 号 70 美元”、“37 号 72 美元”、“38 号 74 美元”
- 属性为“红色”和“黑色”
- 共有 6 种组合(“Nike Air Max + 36 + 红色”、“Nike Air Max + 36 + 黑色”...)
我正在寻找一种将元素存储在弹性中以获得最佳过滤性能的方法,例如“给我所有尺寸为 34 - 37 的产品,颜色为红色或橙色,成本低于 90 美元"
我应该如何在 Elasticsearch 中反映这种设置,即我应该创建哪些索引以获得最佳搜索和过滤性能(索引性能并不那么重要)
注意:我看到过诸如“非规范化”、“嵌套文档”和“子文档”之类的关键字,但不确定我应该更多地阅读和实施哪种方法。
【问题讨论】:
标签: elasticsearch