Algolia 在呈现搜索结果后在即时搜索中显示所有搜索参数
Algolia show all the search parameters in instantsearch after render search results
我正在使用 algolia 在 WordPress 中进行搜索。我想在呈现搜索结果后获取所有搜索查询,如搜索参数、搜索构面。
为了实现这一点,我正在做这样的事情
var search = instantsearch({
appId: algolia.application_id,
apiKey: algolia.search_api_key,
indexName: algolia.indices.searchable_posts.name,
urlSync: {
mapping: {'q': 's'},
trackedParameters: ['query']
},
searchParameters: {
facetingAfterDistinct: true,
highlightPreTag: '__ais-highlight__',
highlightPostTag: '__/ais-highlight__'
}
});
search.on('render', () => {
console.log(search.searchParameters.query);
});
它只显示初始搜索查询。但是当我尝试更新搜索时,它也没有显示更新的搜索。
它也不返回任何方面过滤器搜索的属性。
那么有人可以告诉我如何在呈现搜索后获取这些值吗?
我通过阅读文档找到了解决方案。因此,在完成搜索后,它会通过辅助方法呈现结果。因此,要获取所有搜索查询并过滤使用的内容,您需要执行此操作
search.helper.on('result', function(event) {
//To get search query
console.log(event._state.query);
//To get search parameters like filters
console.log(event._state.disjunctiveFacetsRefinements);
});
我正在使用 algolia 在 WordPress 中进行搜索。我想在呈现搜索结果后获取所有搜索查询,如搜索参数、搜索构面。
为了实现这一点,我正在做这样的事情
var search = instantsearch({
appId: algolia.application_id,
apiKey: algolia.search_api_key,
indexName: algolia.indices.searchable_posts.name,
urlSync: {
mapping: {'q': 's'},
trackedParameters: ['query']
},
searchParameters: {
facetingAfterDistinct: true,
highlightPreTag: '__ais-highlight__',
highlightPostTag: '__/ais-highlight__'
}
});
search.on('render', () => {
console.log(search.searchParameters.query);
});
它只显示初始搜索查询。但是当我尝试更新搜索时,它也没有显示更新的搜索。 它也不返回任何方面过滤器搜索的属性。 那么有人可以告诉我如何在呈现搜索后获取这些值吗?
我通过阅读文档找到了解决方案。因此,在完成搜索后,它会通过辅助方法呈现结果。因此,要获取所有搜索查询并过滤使用的内容,您需要执行此操作
search.helper.on('result', function(event) {
//To get search query
console.log(event._state.query);
//To get search parameters like filters
console.log(event._state.disjunctiveFacetsRefinements);
});