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

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个) . 查询文章时,我们只需指定索引和关键字 .

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

java es 搜索_使用elasticsearch从多个列表中搜索相关推荐

  1. github 搜索_因为这个工具,我在 GitHub 搜索源码的时间缩短了 50%!

    红色石头的个人网站: 红色石头的个人博客-机器学习.深度学习之路​www.redstonewill.com 作为一名搬砖程序员,为了获取优质项目和源码,少不了逛 GitHub.一天下来,多多少少都会在 ...

  2. nlp文本相似度_用几行代码在Python中搜索相似文本:一个NLP项目

    nlp文本相似度 自然语言处理 (Natural Language Processing) 什么是自然语言处理? (What is Natural Language Processing?) Natu ...

  3. python搜索列表内_使用Python在另一个List中搜索列表的值

    try: last_found = -1 for num in L1: last_found = L2.index(num, last_found + 1) return True except Va ...

  4. alfred 常用搜索_如何使用Alfred完善macOS的Spotlight搜索

    alfred 常用搜索 Spotlight Search on macOS has gotten a lot better over the last few years, but there's s ...

  5. gboard包名_如何在Android的Gboard键盘中搜索表情符号和GIF

    gboard包名 Let's be honest here: GIFs and emoji are the new form of communication. As silly as they ma ...

  6. 火狐打开新标签搜索_快速提示:在“新标签”中打开Firefox搜索

    火狐打开新标签搜索 The default action for searching with the Firefox toolbar is to open the search in the cur ...

  7. css中的换行符_如何使用CSS防止项目列表中的换行符?

    css中的换行符 Introduction: 介绍: Dealing with various items in CSS sometimes pose very different problems. ...

  8. win10共享打印机搜索不到计算机,Win10专业版在局域网中搜索不到打印机

    很多小伙伴打印文档的时候,文档发送到打印机后,打印机却没有任何动静.明明打印机已经还亮着灯,街而过没有进行打印.下面就给大姐姐分享一下Win10专业版中局域网搜索不到打印机是怎么如何操作的. Win1 ...

  9. 怎么在电脑搜索html文件在哪里,怎么在电脑中搜索文档

    怎么在电脑中搜索文档 怎么在电脑中搜索文档 相关解答一:如何以内容中的某个关键词来在电脑中搜索word或excell文档 查pdf还是有难度的,我不会.但在office中以内容中的'某个关键词来搜索文 ...

最新文章

  1. 关于chrome等浏览器不支持showModalDialog的解决方案
  2. 实战:RocketMQ削峰,这一篇就够了
  3. 每天学习python 30分钟 -了解python - 看懂#!/usr/bin/python
  4. AnimalTFDB 3.0:动物转录因子注释和预测的综合资源库
  5. 转换string_类型转换详解
  6. 拖拽功能-jquery
  7. uni-app第三方登陆-微信
  8. input在type=number时去右边上下箭头
  9. npm 有用的一些全局包
  10. ssis 执行任务的日志_SSIS和PowerShell –执行流程任务
  11. mobile webiste 中的css的font-size em及line-height等换算
  12. 图形的认识(curve,surface,hypersurface)
  13. si4745 FM-AM-SW 音量控制芯片 驱动详解
  14. numpy中的linspace函数
  15. MD通过vscode生成PDF(带目录标签)
  16. 如何获取服务器的 CA 证书?
  17. Go-Excelize API源码阅读(二十五)——GetSheetName、GetSheetIndex、GetSheetMap()
  18. php源码怎样修改logo,dedecms网站改logo怎么操作
  19. Linux下lsb_release命令的安装教程
  20. android 自动下一首,Android播播放完SD卡指定文件夹音乐之后,自动播放下一首

热门文章

  1. Vue中数组变动监听
  2. thinkphp6 redis并发解决处理方案
  3. 10无法勾选隐藏的项目_Excel的隐藏和保护,你会用吗?
  4. 初创公司 经营_LibreCorps指导人道主义初创公司如何运行开源方式
  5. go编写命令行工具_编写者的命令行文档转换工具
  6. 让电脑说话代码_让您的代码为您说话
  7. jgGrid扩展 显示查询用时
  8. java 枚举 大小_Java枚举入门
  9. 为什么不能把CSS放到html中,为什么我的CSS代码不能在我的HTML文件中工作?
  10. 无痕模式后如何找到历史_离异后女人如何快速找到对象?成都百和情缘婚介告诉你...