3

我使用 js 客户端在 Algolia 中使用 facets。例如,如果我有颜色和大小的方面,并且我选择红色和大号,我可以得到类似的结果:

index.search("shirts", {
  "facets": "*",
  "hitsPerPage": 10,
  "facetFilters": [
    "color:Red",
    "size:Large",
  ],
  "maxValuesPerFacet": 100
});

这很好用,只显示结果中的红色和大方面:

Color:
Red

Size:
Large

但我希望能够显示每个方面的所有可能选项,并突出显示选定的选项。就像是:

Color:
Red *selected*
Blue
Green

Size:
Large *selected*
Small
Medium

有没有办法在 Algolia 中通过一个搜索查询并使用常规方面(非分离式)来做到这一点?

4

2 回答 2

4

轻松处理方面的一种方法是使用Algolia JS Helper以及JS API 客户端

它提供了一种优雅的方式来管理常规方面、分离方面以及分层方面。

于 2015-08-21T08:32:56.253 回答
1

您只能通过析取分面来实现这种行为,因为您需要有几个查询:

  • 第一个没有过滤器的查询来计算每个方面的计数
  • 应用过滤器的第二个查询在应用过滤器后进行计数

析取分面会为您生成这些查询,因此您不必处理它们。

于 2015-08-21T08:16:30.510 回答