Algolia搜索typeahead实现

时间:2015-11-18 18:49:59

标签: javascript typeahead.js algolia

我有一个关于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”。

我想知道是否有办法强制使用typeahead搜索仅搜索属性 edited_by_admin 设置为“1”的项目。< / p>

我需要这个,因为具有特定权限的用户只能搜索 edited_by_admin = 1 的项目,而管理员可以搜索所有结果,我想为两者使用相同的索引。

提前致谢!

1 个答案:

答案 0 :(得分:2)

我最终找到了答案。

您必须在索引设置上将要筛选的属性设置为构面,然后将其设置为typeahead,如下所示:

$('...').typeahead(
{
  hint: false,
  minLength: 1
},
{
  source: index.ttAdapter({
    facetFilters: 'edited_by_admin:1',
    hitsPerPage: 100
  }),
  displayKey: 'name',
  templates: {
  ...
  }
});