Solr索引多值字段

时间:2014-10-13 07:08:16

标签: solr indexing lucene faceted-search

我开始学习solr,我正在尝试为不同产品包中的产品价格建模数据。

e.g。

Product {
allPrices: { 12, 13, 14 }
bundles:   {Bundle_1, Bundle_2, Bundle_3}
price:     ????
}

我离开了price字段,因为这是分面搜索的最初工作方式。只有一个价值被索引,并用于过滤。

我有一个产品页面,其中有一个我可以选择的捆绑下拉列表。根据捆绑我选择相应的价格需要显示。 我如何模仿这种行为,以便进行分面搜索并使用SOLR ranges

1 个答案:

答案 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
}

但是,这种方法也会遇到一些问题 - 您的数据将呈指数级增长,因为您将为每个捆绑包创建文档。