【问题标题】:Solr indexing multi value fieldsSolr 索引多值字段
【发布时间】:2014-10-13 07:08:15
【问题描述】:

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

例如

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

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

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

【问题讨论】:

    标签: solr indexing lucene faceted-search


    【解决方案1】:

    我建议您看看 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
    }
    

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

    【讨论】:

      猜你喜欢
      • 2013-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-24
      • 2011-05-09
      • 2013-09-28
      • 2021-11-09
      • 1970-01-01
      相关资源
      最近更新 更多