Elasticsearch 与 OpenSearch:扩大性能差距
对于任何依赖快速、准确搜索数据的组织来说,强大、快速且高效的搜索引擎是至关重要的元素。对于开发人员和架构师来说,选择正确的搜索平台可以极大地影响您的组织提供快速且相关结果的能力。在我们全面的性能测试中,Elasticsearch® 成为明智的选择。 Elasticsearch 比 OpenSearch 快 40%--140%,同时使用更少的计算资源。
在本文中,我们将在六个主要领域对 Elasticsearch 8.7 和 OpenSearch 2.7(测试时两者的最新版本)进行性能比较:文本查询、排序、日期直方图、范围和术语,包括资源利用率。我们的目标是提供公平、实用的技术见解,帮助您做出明智的决策,无论您是优化现有系统还是设计新系统。此比较还旨在清楚地突出 Elasticsearch 和 OpenSearch 之间的性能差异,表明两者完全不同。
我们将首先回顾性能比较的结果,然后是我们的测试方法和测试环境。
1. 结果
使用 t-test 检验对性能比较结果(重点关注请求的 p90(第 90 个百分位数))进行交叉验证,以确保两种解决方案之间的延迟测量存在统计差异。针对每种查询类型计算相对变化(以百分比表示)。我们还使用箱线图显示 100% 请求的延迟分布,箱线图显示最小值、最大值、中值、平均值和异常值。实际的方框显示了下四分位数和上四分位数,其中分别有 25% 和 75% 的观测值落在其中。通过这种方式,我们可以了解这些值的实际分布情况。

1.1 文本查询 --- 速度提高 76%
"显示包含 jane@doe.com 的所有数据。"

Elasticsearch 表现出了显着的领先优势,执行文本查询的速度比 OpenSearch 快 76% 。
文本查询是全文搜索的基础和关键,而全文搜索是 Elasticsearch 的主要功能。文本字段查询允许用户搜索文本数据中的特定短语、单个单词甚至单词的一部分。用户能够通过文本数据执行复杂的搜索------它增强了整体搜索体验并支持广泛的应用程序和解决方案。
1.2 排序
"先给我看看最贵的产品。"