Algolia Search typeahead 实现
Algolia Search typeahead implementation
我在 Algolia 上有一个索引,其中包含如下项目:
objectID: 1
name:"Universidade Estadual Paulista Júlio de Mesquita Filho"
acronym:"UNESP"
type:"level1"
aliases:[]
edited_by_admin:"1"
orderString:"UniversidadeEst..."
几乎所有的索引都有 edited_by_admin 属性 作为 "0" 而只有不到一半此 属性 设置为“1”。
我想知道是否有一种方法可以使用预输入强制搜索仅搜索具有 属性 edited_by_admin 设置的项目到 "1".
我需要这个,因为具有某些权限的用户只能搜索 edited_by_admin = 1 的项目,而管理员可以搜索所有结果,我想使用两者的索引相同。
提前致谢!
最后我自己找到了答案。
您必须在索引设置中将要过滤的 属性 设置为分面,然后像这样在预先输入时设置它:
$('...').typeahead(
{
hint: false,
minLength: 1
},
{
source: index.ttAdapter({
facetFilters: 'edited_by_admin:1',
hitsPerPage: 100
}),
displayKey: 'name',
templates: {
...
}
});
我在 Algolia 上有一个索引,其中包含如下项目:
objectID: 1
name:"Universidade Estadual Paulista Júlio de Mesquita Filho"
acronym:"UNESP"
type:"level1"
aliases:[]
edited_by_admin:"1"
orderString:"UniversidadeEst..."
几乎所有的索引都有 edited_by_admin 属性 作为 "0" 而只有不到一半此 属性 设置为“1”。
我想知道是否有一种方法可以使用预输入强制搜索仅搜索具有 属性 edited_by_admin 设置的项目到 "1".
我需要这个,因为具有某些权限的用户只能搜索 edited_by_admin = 1 的项目,而管理员可以搜索所有结果,我想使用两者的索引相同。
提前致谢!
最后我自己找到了答案。
您必须在索引设置中将要过滤的 属性 设置为分面,然后像这样在预先输入时设置它:
$('...').typeahead(
{
hint: false,
minLength: 1
},
{
source: index.ttAdapter({
facetFilters: 'edited_by_admin:1',
hitsPerPage: 100
}),
displayKey: 'name',
templates: {
...
}
});