Algolia:如何过滤掉客户端的 objectIDs 列表
Algolia : How to filter out a list of objectIDs client side
我有一个用户可以关注的用户列表,来自 algolia 索引。
const index = client.initIndex('index');
const f= { filters: 'objectType:user };
index.search('user', f, (e, c) => {
const x = c.hits;
});
现在,该用户已经关注了一组用户 ID,我不希望从该搜索中返回这些用户,我该如何过滤掉这些用户。 UserID
在这种情况下是 objectID
。
我建议使用 Algolia 的 "Negative Filters" 来实现这一点。
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}`
我有一个用户可以关注的用户列表,来自 algolia 索引。
const index = client.initIndex('index');
const f= { filters: 'objectType:user };
index.search('user', f, (e, c) => {
const x = c.hits;
});
现在,该用户已经关注了一组用户 ID,我不希望从该搜索中返回这些用户,我该如何过滤掉这些用户。 UserID
在这种情况下是 objectID
。
我建议使用 Algolia 的 "Negative Filters" 来实现这一点。
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}`