Lucene搜索电子商务 - 订购每个类别的产品

时间:2016-10-26 06:08:09

标签: search solr lucene e-commerce faceted-search

我正在使用 Lucene 来索引/搜索电子商务应用的产品目录。

产品可以映射到任意数量的类别。

我们要求维护每个类别中的产品列表的默认排序顺序。因此,每个映射类别的产品可能具有不同的订单索引。

在类别中搜索产品列表时,如何使用默认排序顺序对映射产品进行排序?

1 个答案:

答案 0 :(得分:0)

您可以通过为每个排序顺序设置单独的字段来实现此目的,例如category_motherboards_sort具有该文档的索引值。这里唯一的问题是你必须要小心你排序的总字段数,因为你可能会在一段时间后获得一个非常大的FieldCache - 但具体如何工作将取决于Lucene的哪个版本你正在使用。使用DocValues可以减轻大部分成本。

如果这仍然是一个问题,您通常可以通过检索该类别的所有文档来解决它,然后在您的应用程序层中进行排序。这适用于非常稀疏的字段,其中字段仅占文档总数的较低百分比。

我首先尝试第一个选项并分析内存使用情况,然后在必要时执行其他选项。