有没有办法通过属性值为空或空字符串来过滤命中?
即,显示所有没有作者的对象
facetFilters=作者:null
facetFilters=作者:''
或者将其包含在 OR 值列表中?
即,显示所有作者设置为吐温或没有作者的对象
facetFilters=(作者:吐温,作者:null)
facetFilters=(作者:吐温,作者:'')
不幸的是 - 截至今天 - Algolia 不支持这一点。一种解决方法可能是在它为空时推送一个额外的值,例如推送author: 'unknown'
您可以用来过滤的值。
或者,您可以_tags
在索引时添加一个值,以便稍后用于过滤:
const tags: string[] = [];
if (!obj.author) tags.push('no-author');
idx.saveObject({ ...obj, _tags: tags });
然后,您可以稍后按标签过滤,如下所示:
const res = idx.search('', { filters: '_tags:no-author' });