2

我正在开展一个项目,我们拥有 200 万种产品,并有 50 个客户采用不同的定价方案。索引 2M X 50 记录目前不是一个选项。我已经查看了 solr join 并且无法让它按照我想要的方式工作。我知道这就像一个自我加入,所以我有点怀疑它是否会起作用,但无论如何它都在这里。

这是示例架构

core0 - 产品 core1 - 客户端

因此,给定一个客户 ID,我想显示所有由 Samsonite 制造的包,按最低价格排序。

如果有更好的方法来解决这个问题,我愿意重新设计令人兴奋的模式。

先感谢您。

4

1 回答 1

1

Solr 不是关系数据库。您应该查看分片功能并拆分索引。此外,您可以编写自定义插件,以在索引时根据客户的 id/name/whatever 详细说明价格数据(糟糕的是,您仍然会为每个客户复制一个产品)。

我们是怎么做的(所以你可以得到一个例子):

  • 客户端由 sqlite 处理
  • 产品以其“基本”价格存储在 solr
  • 每个客户端在询问数据库时都有一个通过自定义查询处理程序应用的“定价规则”(它只是一个值修饰符)
于 2012-10-25T09:54:25.887 回答