Algolia:如何过滤掉objectIDs客户端列表

时间:2018-04-16 10:51:14

标签: algolia

我有一个用户可以关注的用户列表,来自algolia索引。

const index = client.initIndex('index');

const f= { filters: 'objectType:user };

index.search('user', f, (e, c) => {
       const x = c.hits;
});

现在,该用户已经关注了一系列用户ID,我不希望这些用户从此搜索中返回,我该如何过滤掉这些用户。在这种情况下,UserIDobjectID

1 个答案:

答案 0 :(得分:3)

我建议使用Algolia"负面过滤器"做到这一点。

https://www.algolia.com/doc/guides/searching/filtering/?language=instantsearchjs#negative-filters

因此,如果您有一组用户ID,则可以构建一个类似于:

的过滤器
const filters = 'objectType:user AND NOT objectID:123 AND NOT objectID:456 ...';

您可以通过循环遍历id数组来构建此过滤器字符串,并将其添加到每个用户ID的过滤器中:

`AND NOT objectID:${userId}`