mar*_*rcg 4 java autocomplete mongodb redis elasticsearch
我必须实现超过 500,000 个名字的自动完成,这些名字以后可能会增加到超过 400 万个名字。
后端是使用 Spring 的 Java REST Web 服务调用。我应该使用 MongoDB、 Redis还是 Elasticsearch 来存储和查询/搜索名称?
这是一个关键的搜索用例,MongoDB 和 Redis 非常适合基于键的查找,而不是用于搜索目的,而 Elasticsearch 是一个分布式搜索引擎,专为此类用例构建。
在选择系统之前,您应该了解您的功能在内部如何工作以及选择它的考虑因素。
Elasticsearch 在倒排索引中索引文档并处理令牌匹配(可以轻松定制以满足业务需求),因此搜索速度非常快。Redis 和 MongoDB 内部没有这种结构,不应用于此用例。您应该毫无疑问选择 Elasticsearch 而不是这些来实现自动完成。
| 归档时间: | 
 | 
| 查看次数: | 1125 次 | 
| 最近记录: |