渲染搜索结果后,Algolia 在 Instantsearch 中显示所有搜索参数
Posted
技术标签:
【中文标题】渲染搜索结果后,Algolia 在 Instantsearch 中显示所有搜索参数【英文标题】:Algolia show all the search parameters in instantsearch after render search results 【发布时间】:2021-09-05 18:59:54 【问题描述】:我在 WordPress 中使用 algolia 进行搜索。我想在呈现搜索结果后获取所有搜索查询,如搜索参数、搜索方面。
为了实现这一点,我正在做这样的事情
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);
);
它只显示初始搜索查询。但是当我尝试更新搜索时,它也没有显示更新的搜索。 它也不会返回任何方面过滤器搜索的属性。 那么有人可以告诉我如何在搜索呈现后获取这些值吗?
【问题讨论】:
【参考方案1】:我通过阅读文档得到了解决方案。因此,在搜索完成后,它会通过辅助方法呈现结果。因此,要获取所有搜索查询和过滤器,您需要这样做
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 在 Instantsearch 中显示所有搜索参数的主要内容,如果未能解决你的问题,请参考以下文章