11

有没有办法通过属性值为空或空字符串来过滤命中?

即,显示所有没有作者的对象

facetFilters=作者:null

facetFilters=作者:''

或者将其包含在 OR 值列表中?

即,显示所有作者设置为吐温或没有作者的对象

facetFilters=(作者:吐温,作者:null)

facetFilters=(作者:吐温,作者:'')

4

2 回答 2

14

不幸的是 - 截至今天 - Algolia 不支持这一点。一种解决方法可能是在它为空时推送一个额外的值,例如推送author: 'unknown'您可以用来过滤的值。

于 2016-01-11T21:37:25.247 回答
0

或者,您可以_tags在索引时添加一个值,以便稍后用于过滤:

const tags: string[] = [];
if (!obj.author) tags.push('no-author');
idx.saveObject({ ...obj, _tags: tags });

然后,您可以稍后按标签过滤,如下所示:

const res = idx.search('', { filters: '_tags:no-author' });
于 2021-02-26T21:19:49.107 回答