我需要一点帮助来实现一些我想实现的东西,但不知道怎么做。
我在运行易趣分类网站。我的网站上有很多过滤器,例如,你可以按价格、类别、城市、条件过滤广告……假设我们有这个用例:
用户可以使用过滤器过滤我的网站上的广告
一旦他这样做了,他可以保存这些过滤器和订阅得到推送通知时,有人提交了一个广告,符合这些过滤器
我在数据库中为那个用户保存那些过滤器
对于本例,假设我的站点有大约10万个活动订阅。
显然,第一步是攻击代码中的某个位置,在该位置ad将被保存到数据库中。我有一个问题,如何知道具体的广告是否符合这些过滤器。
我需要通过10万订阅和他们的过滤器,以知道哪个过滤器匹配已发布的广告。对我来说听起来不太好,可能是1米或更多。
有人能帮我吗,或者至少给我指出正确的方向。
这是基本版本。
过滤器:
国家、县、市
最低价格,最高价格
条件(新的,旧的…)
有/无图片广告
用户订阅了一组筛选器:
英格兰,伦敦
最低价格:200€
十
十
用户b订阅了一组筛选器:
英格兰
最高价格:500€
新的
十
用户c订阅了一组筛选器:
德国
最低价格:200€
十
带图片
用户x提交了包含以下数据的广告:
城市:伦敦
价格:300€
状况:新
在这种情况下,用户a和用户b需要获得推送通知,因为ad与它们的过滤器匹配。
1条答案
按热度按时间8mmmxcuj1#
非常高层次的观点可以做什么。
api:创建api GetFilteredAs,传入请求:
上下文信息(用户id等)
滤波器
过滤器:
在后端保存用户筛选器
单击过滤器ui可以调用api“getfilteredads”
处理:
getfilteredads可以根据选择的过滤器从ElasticSearch中获取数据(您可以使用任何模板工具来定义es查询模板,并根据请求中提供的过滤器数据生成实际查询)