Algolia分面搜索显示所有方面选项

时间:2015-08-20 23:44:59

标签: algolia

我正在使用js客户端与Algolia使用facet。举个例子,如果我有颜色和大小的方面,我选择红色和大号,我可以得到如下结果:

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中使用一个搜索查询并使用常规方面(而不是析取)?

2 个答案:

答案 0 :(得分:3)

轻松处理构面的一种方法是使用Algolia JS HelperJS API Client

那个提供了一种优雅的方式来管理常规方面,析取方面,以及层次化方面。

答案 1 :(得分:1)

您只能通过析取分面来实现这种行为,因为您需要进行多次查询:

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

析取分面正在为您生成这些查询,因此您无需处理它们。