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: {
  ...
  }
});