渲染搜索结果后,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 中显示所有搜索参数的主要内容,如果未能解决你的问题,请参考以下文章

在产品视图中显示 Algolia 结果

Algolia:在 Laravel 中搜索多个索引

php [algolia php] algolia搜索php

Algolia Search

在 Algolia 索引中搜索准确的术语

没有 UI 的 Algolia 搜索