我正在使用Algolia搜索引擎,我想从algolia获取结果如下
如果visibility = everyone,则会向所有用户显示
如果visibility = private,则只会为登录用户
要实现这一点,我试过
filter="visibility:everyone" OR ("visibility:me" AND "user.username:testuser")
但它返回错误
{
"message": "filters: filter (X AND Y) OR Z is not allowed, only (X OR Y) AND Z is allowed",
"status": 400
}
如何改变条件以实现上述情况?
任何帮助都会提前感谢并感谢。
答案 0 :(得分:1)
条件可以简化为
filter="visibility:everyone" OR "user.username:testuser"
与Algolia合作。
P.S。为了更安全,请将过滤条件直接指定为secured API key,不要直接使用查询发送。
答案 1 :(得分:1)
尝试通过两次实现NOT将AND Gate更改为OR Gate 为你的情况
NOT("可见性:每个人" AND(不是"可见性:我"或者不是" user.username:testuser")