我有一个包含大约 1+ 百万条记录的应用程序。
- 我计划使用Solr来处理所有搜索。
- 我还有一个自动完成功能。
我知道Redis的自动完成速度非常快,但是Solr也有自己的自动完成功能。
问题:我应该使用Solr作为主要搜索引擎(用于非自动完成任务)和一个单独的Redis用于自动完成,还是我最好只使用 Solr 来完成这两个任务?
笔记:
- 负载平衡也是一个问题。
- 顺便说一下使用 Rails。
谢谢。
我认为您只会使 Redis 的事情变得不必要地复杂化(我通常是 Redis 的忠实粉丝)。
正如您已经提到的,Solr 有自己的自动完成功能。
我不会说 100 万个文档是生产环境的一个大索引。相反,我会说这是一个相当小的。
所以我不希望 Solr 的自动完成有任何问题。
除了您建议的方法之外,这里还有一种实现它的不同方法,以分步教程的形式编写。
你是对的,Redis 非常适合大规模的东西,但是由于你的整个索引会增长,在某些时候你必须扩展 Solr(不仅仅是为了自动完成)。