基于交集数量的Algolia查询:按兴趣相似度匹配用户
如何用Algolia实现基于兴趣重合数的用户筛选
可以实现,具体通过Algolia内置的count函数结合筛选条件就能达成需求:
- 确保索引中的
interests字段被设置为可搜索属性(Algolia默认支持数组类型字段的匹配)。 - 构造筛选表达式,利用
count函数统计目标兴趣列表与用户兴趣数组的重合数量,设置阈值≥2:count(interests, ['A', 'B', 'E']) >= 2 - 在查询时将该表达式传入
filters参数。以JavaScript SDK为例:index.search('', { filters: 'count(interests, ["A", "B", "E"]) >= 2' }).then(({ hits }) => { console.log(hits); // 仅返回符合条件的obj1 });
针对你的示例,obj1的interests与['A','B','E']重合的元素是'A'和'B',数量为2,满足筛选条件;obj2仅重合'B',数量为1,会被排除,完全符合预期结果。
内容的提问来源于stack exchange,提问作者Guim
相关产品推荐
相关产品推荐

