Algolia 初始搜索参数 instantsearch.js
Algolia initial search parameters instantsearch.js
我有一个索引,我试图在其中为 algolia 中的查询传递初始值。我正在使用 instantsearch.js,现在它只是从我的索引中加载所有内容。如何在页面加载时将初始值传递给索引?
例如Select * from index where Category='Careers'
(将职业作为负载值传递)
我已经搜索了相关文档,但无法弄明白。
此外,我需要传递多个值,例如:
select * from index where Category = 'Careers' or 'Skills' or 'Interests'
(带 or 语句)
谢谢!
我假设您正在使用 refinementList 小部件:https://community.algolia.com/instantsearch.js/documentation/#refinementlist。在数据的 'category' 属性上。
如果是这样,你可以这样做:
var preselectedCategories = ['Careers', 'Skills'];
var search = instantsearch(applicationID, apiKey, {
...other parameters,
searchParameters: {
disjunctiveFacetsRefinements: {
category: preselectedCategories
}
}
})
您还需要在 refinementList 实例化中执行此操作:
var refinementList = instantsearch.widgets.refinementList({
transformData: {
item: function(item) {
if (preselectedCategories.indexOf(item.name) !== -1) {
item.cssClasses.label += ' pre-selected';
}
return item;
}
}
});
那么所有预选的类别项目都会有 "pre-selected" css
默认 class。
然后你可以使用css和这个class名字来做:
.pre-selected {
display: none;
}
告诉我
我有一个索引,我试图在其中为 algolia 中的查询传递初始值。我正在使用 instantsearch.js,现在它只是从我的索引中加载所有内容。如何在页面加载时将初始值传递给索引?
例如Select * from index where Category='Careers'
(将职业作为负载值传递)
我已经搜索了相关文档,但无法弄明白。
此外,我需要传递多个值,例如:
select * from index where Category = 'Careers' or 'Skills' or 'Interests'
(带 or 语句)
谢谢!
我假设您正在使用 refinementList 小部件:https://community.algolia.com/instantsearch.js/documentation/#refinementlist。在数据的 'category' 属性上。
如果是这样,你可以这样做:
var preselectedCategories = ['Careers', 'Skills'];
var search = instantsearch(applicationID, apiKey, {
...other parameters,
searchParameters: {
disjunctiveFacetsRefinements: {
category: preselectedCategories
}
}
})
您还需要在 refinementList 实例化中执行此操作:
var refinementList = instantsearch.widgets.refinementList({
transformData: {
item: function(item) {
if (preselectedCategories.indexOf(item.name) !== -1) {
item.cssClasses.label += ' pre-selected';
}
return item;
}
}
});
那么所有预选的类别项目都会有 "pre-selected" css 默认 class。
然后你可以使用css和这个class名字来做:
.pre-selected {
display: none;
}
告诉我