【问题标题】:Elasticsearch vs MongoDB for full text search用于全文搜索的 Elasticsearch 与 MongoDB
【发布时间】:2022-01-11 19:31:42
【问题描述】:

这是一个全文搜索问题。 我将 Elasticsearch 用于我的日志记录系统。而且现在听说MongoDB还支持全文搜索,测试了一下性能。 我做了一个文本索引并测试了它。 使用 10,000 个单词,创建了 1000 万份文档。 它查了两个字。 (例如“苹果菠萝”) 结果令人惊讶。 MongoDB 搜索速度更快。

我是否误解了 Elasticsearch 中的全文搜索?我做错测试了吗? 就全文搜索性能而言,难道没有理由要使用 Elasticsearch 吗? 我误解了全文搜索吗? 请教我。

【问题讨论】:

  • 请添加您用于 Elasticsearch 和 MongoDB 的确切查询函数。还请提供有关您如何衡量绩效的详细信息。
  • did i do the test wrong? - 我们怎么知道您是否没有分享您的测试? Mongodb 为全文搜索添加了支持。这不是它的主要功能,您可以在 SO 上找到许多问题,人们在 Elasticksearch 中缺乏某些功能而苦苦挣扎 - 专门构建的全文搜索引擎。这是 Mongo db 在 Atlas 上的商业产品中提供与 Elasticsearch 无缝集成的原因之一。如果您需要 mongo 功能,并且它的全文足以满足您的用例,那就去吧。

标签: mongodb elasticsearch


【解决方案1】:

如果您的用例仅是全文搜索,我仍然会更倾向于 Elasticsearch,因为它是为相同目的而设计的。但是我承认我还没有在这方面探索过 Mongodb 的能力。 Elasticsearch 提供各种模糊搜索路径、邻近匹配、匹配短语等,可根据您的用例使用。

Elastic 和 Mongo 的数据存储之间的另一个区别是 Elastic 将所有内容保存在内存中,而 Mongo 在磁盘和内存之间进行平衡。所以理想情况下,如果你对它进行负载测试,Elastic 应该会更快。

就您的测试而言,请确保 mongo 和 elastic 集群在资源方面具有同等强度。否则,这不是苹果与苹果的比较。

【讨论】:

    猜你喜欢
    • 2020-03-07
    • 2020-08-22
    • 2014-11-04
    • 2020-03-10
    • 2015-12-06
    • 2014-03-19
    • 2021-01-24
    • 1970-01-01
    相关资源
    最近更新 更多