Algolia过滤和查询搜索

时间:2017-09-09 02:50:25

标签: javascript algolia

我有一个algolia应用程序,其中包含一些看起来像这样的对象:

{
  "company_id": "36ec09ec-6b07-45e3-ae2d-a77bfe381baa",
  "first_name": "maryam",
  "objectID": "ffd92558-6bd3-42df-96c2-9c9124e66f6a"
}

我正在尝试运行按company_id过滤搜索结果的查询。

我已经阅读了Algolia文档,这就是我的尝试。首先,我将company_id添加到仪表板中的构面属性中。现在在我的前端JavaScript应用程序中,我正在运行此查询:

this.index.search({
  query: 'mar',
  filters: `company_id:'36ec09ec-6b07-45e3-ae2d-a77bfe381baa'`
}).then(resp => {
  console.log(resp);
});

当我运行它时,它会返回0次点击。

我也试过了:

this.index.search({
  query: 'mar',
  facetFilters: [`company_id:36ec09ec-6b07-45e3-ae2d-a77bfe381baa`]
}).then(resp => {
  console.log(resp);
});

2 个答案:

答案 0 :(得分:1)

尝试这种方式,更多关于过滤https://www.algolia.com/doc/guides/searching/filtering/

this.index.search({
  query: 'mar',
  filters: 'company_id:36ec09ec-6b07-45e3-ae2d-a77bfe381baa'
}).then(resp => {
  console.log(resp);
});

答案 1 :(得分:0)

我也遇到了这个问题。看起来我们需要向要过滤的属性添加一个构面。因此,在这种情况下,您可能要创建与company_id相关的构面,并确保其可搜索