已关闭。此问题为opinion-based。它目前不接受回答。
**希望改进此问题?**请更新问题,以便editing this post能够以事实和引文来回答。
2天前关闭。
Improve this question的
我想验证哪个解决方案是最快的,而唯一重要的因素是返回结果的速度。
我的用例:
- 产品目录专用解决方案-产品和类别
- 50个国家-> 50个不同的产品目录(相同的结构-只是希望每个国家不同)
- 每个产品目录包含5000到70000个产品
- 简单全文搜索、模糊搜索、自动完成、某些产品的提升
- 面支撑
- 将与Java Sping Boot 应用程序集成,并使用React式堆栈(WebFlux)-微服务
潜在的搜索引擎:
*MongoDB Atlas搜索:https://www.mongodb.com/docs/atlas/atlas-search/
*Elasticsearch:https://www.elastic.co/
*Apache Solr:https://solr.apache.org/
所有这些都使用Apache Lucene:https://lucene.apache.org/
我不关心每个解决方案的复杂性,指数化所需的时间或任何其他事情。我想验证的唯一因素是他们中哪一个是最快的。
示例:
- 70 k产品的索引。用户键入产品名称的一部分。返回5个最适合的产品。
- 70 k产品的索引。用户点击类别。显示分页页面(每页25个结果)。在顶部显示提升的产品。
- 70 k产品的索引。用户已看到类别中的产品。此外,用户希望使用“库存”方面(仅查看现在完全可用的产品)。返回分页页面(每页25个结果)。在顶部显示提升的产品。
由于所有这些解决方案都使用Apache Lucene,因此它们的响应时间看起来几乎相同?在这种情况下,这些解决方案中是否有一个比其他解决方案好得多?
1条答案
按热度按时间brccelvz1#
这三种解决方案(MongoDB Atlas Search、Elasticsearch和Apache Solr)都可能表现得相当好,应该能够有效地处理您的需求。另一种解决方案是Opensearch。
为了获得准确的评估,建议使用性能基准测试,其中模拟真实世界的搜索查询并测量每个解决方案的响应时间。逐个测试每个场景太难了,所以为了更快地做出选择,你可以做的是:
使用您或您的团队更了解的任何一个:)。