Algolia过滤器相当于数组的SQL IN?

时间:2016-08-27 22:59:15

标签: algolia

我在Algolia中有记录包含一个带有整数值的数组属性,如:

{
  ...
  choice_ids: [1, 99, 100, 200]
  ...
}

我想过滤包含另一个数组的任何值的所有记录。例如,我搜索[1,300,400,600,700],我应该记录在顶部,因为它包含1.

我应该用OR参数构造过滤器还是有更好的方法?

2 个答案:

答案 0 :(得分:12)

  

我应该用OR参数构造过滤器还是有更好的方法?

是的,这是最佳选择。

index.search('....', { filters: '(choice_ids=1 OR choice_ids=99 OR choice_ids=100 OR choice_ids=200)' });

答案 1 :(得分:0)

对我来说,它不是使用'='而是使用':'的意思,

{ filters: 'choice_ids:1 OR choice_ids:99 OR choice_ids:100 OR choice_ids:200' })