java es 搜索_使用elasticsearch从多个列表中搜索

我们有以下设置(简化/更改):

MongoDB集合: Articles

Redis列表: Today Yesterday This Week This Month

我们经常收到新文章,并将它们放入适当的列表中(新文章进入'今天''本周'和'本月'[redis列表包含mongodb集合的id]) .

这些列表可以包含很多项目(“本月”达到数百万) . 这些列表经常更改,文章消失并重新出现(业务逻辑) .

这些列表必须是可搜索的(beyonce -rihanna,如果你想阅读关于碧昂丝的新闻,而不是关于rihanna的新闻) . 我们的第一个实现(当列表很小时)是简单地索引Elastic中的整个Articles集合,当搜索特定列表时,我们使用关键字(beyonce -rihanna)和列表中包含的所有id查询弹性 . 这适用于几千个条目,但正如预期的那样,它不能很好地扩展 .

我们目前想到了两种方法来解决这个问题:

在索引新文章时(弹性)我们引用它所在的所有列表 . 因此,当查询特定列表中的文章时,我们的查询包含关键字(beyonce -rihanna)和我们从(昨天)查询的列表 .

在Elastic中创建多个索引(每个redis列表1个) . 查询文章时,我们只需指定索引和关键字 .

这两种方式都是正确的吗?或者我们应该以不同的方式处理此案

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值