Lucene Facets - 如何处理 StoreId

Lucene Facets - How to handle StoreId

我们将多个商店的数据存储在同一个索引中。 我们想为多个字段创建分面,例如类别(分层)、价格、颜色、尺码、价格,但我们想为每个商店 ID 计算这些分面。 我们永远不会有用例 - 我们想要跨商店计数。

我们如何处理这个用例,我们应该将 storeid 添加为我们赋予构面的所有值的一部分,还是应该将所有构面声明为分层的,并将 storeid 作为第一级

可能有多种方法可以处理此问题,但根据我的经验,我建议您在为构面创建向下钻取查询时(以指定您感兴趣的类别层次结构中的级别)并且您将该查询传递给 baseQuery,基本查询应包括您的标准,即 storeid 等于特定商店。

在某种意义上,特定商店需要的 storeid 只是另一个查询条件(您恰好在幕后添加),用于指示客户对哪些产品感兴趣。这没有太大区别如果您还指定仅对具有特定颜色的产品感兴趣。