>我有一个用例,我需要保存当前的搜索状态,例如查询、选定的方面等,并在不使用历史记录的情况下按需恢复它们。我怎样才能做到这一点?
它有点高级,但您可以使用 getState(( 使用algoliasearchHelper
:
var client = algoliasearch('appid', 'appsearch');
var helper = algoliasearchHelper(client, 'index', {
facets: ['shipping'],
disjunctiveFacets: ['category']
});
var mySavedState = helper.getState();
或者状态的一部分,其中包含对属性和查询的所有优化:
var mySavedState = helper.getState(['query', 'attribute:category']);
它返回一个对象,因此您可以使用JSON.stringify(mySavedState)
将其保存在某个位置,然后JSON.parse(mySavedState)
将其取回。
然后稍后您可以设置状态:
helper.setState(mySavedState);
有关详细信息,请参阅帮助程序入门。