要获取所有的facets,可以使用instantsearch.js中的helper对象。实现方法如下:
//初始化helper对象
var helper = algoliasearchHelper(client, indexName, {
facets: ['facet1', 'facet2', ...] //在这里列出所有要使用的facets
});
//搜索
helper.search();
//获取除了返回数据以外的其他重要信息
helper.on('result', function(content){
//所有facets和它们的数据都在content.facets对象中
console.log(content.facets);
});
这个例子返回所有已经定义的facet,不仅仅是搜索结果中出现的facet。如果需要只获取搜索结果中的facet,可以在搜索后使用下面的代码过滤:
var usedFacets = Object.keys(helper.lastResults.facets);
console.log(usedFacets);