我开始学习solr,我正在尝试为不同产品包中的产品价格建模数据。
e.g。
Product {
allPrices: { 12, 13, 14 }
bundles: {Bundle_1, Bundle_2, Bundle_3}
price: ????
}
我离开了price
字段,因为这是分面搜索的最初工作方式。只有一个价值被索引,并用于过滤。
我有一个产品页面,其中有一个我可以选择的捆绑下拉列表。根据捆绑我选择相应的价格需要显示。
我如何模仿这种行为,以便进行分面搜索并使用SOLR ranges
。
答案 0 :(得分:2)
我建议你看看Solr中的Block Join方法。它将非常适合您的需求。您可以将产品建模为父文档,将所有3个捆绑包作为子产品。每个人都有自己的价格,所以你可以轻松地展示它。这里的问题是,Solr仍然没有孩子级别的方面,所以你需要自己实现它。此外,Solr无法按子字段对文档进行排序,因此您需要进行汇总
我推荐这篇文章作为开始 - http://blog.griddynamics.com/2013/09/solr-block-join-support.html
另一种方法可能是将每个包模型化为单个文档。你可以在这里找到3个文档。
Bundle1 {
price: 12,
name: Bundle_1
product: Product1
}
Bundle2 {
price: 13,
name: Bundle_2
product: Product1
}
但是,这种方法也会遇到一些问题 - 您的数据将呈指数级增长,因为您将为每个捆绑包创建文档。