In-depth comparison of project status, performance, vector search capabilities, and more between Elasticsearch and OpenSearch
What a year it has been since our previous Opensearch vs Elasticsearch comparison in mid 2023. It was then that generative AI was just capturing mainstream attention, and a whole new world of possibilities was opening up before our eyes.
For us at BigData Boutique, it has been a year of increased interest from our clients in a range of technologies – none more so than vector databases and vector search. Companies sought to migrate from Elasticsearch to open-source OpenSearch clusters to save costs & boost performance, or upgrade their implement SIEM or Retrieval Augmented Generation (RAG) use-cases with Elasticsearch.
This is a 2025 update for the 2023 comparison, and much has happened since. The history, core differences and then-relevant numbers are explained there. The primary objective of this recent comparison is to build on that and provide a fresh overview of the current situation, highlighting the key differences between OpenSearch and Elasticsearch in main key areas: performance, vector search capabilities and GenAI, ecosystem, and costs.
Projects Status and Licensing
Both projects have continued evolving and progressing. OpenSearch has picked up significant pace and more traction, and is now following a clear roadmap and has a steering committee and is acting like a mature fully open source project. The projects are definitely diverging now, although just like before - all basic functionality still works exactly the same for both.
After moving from Apache 2.0 license in 2021 with the 7.11 release, and offering Elasticsearch and Kibana as dual-licensed under Server Side Public License (SSPL) and the Elastic License, in September 2024 Elastic added the Open Source Initiative (OSI) approved AGPLv3 license as an option alongside SSPL and the Elastic license.
This in short means the “Free OSS” version of Elasticsearch is now released (also) under the AGPL v3 license, while other versions of Elasticsearch (Basic and above) as well as all binary releases are still under the limiting Elastic License 2.0. This to us doesn’t seem to be a significant change from the previous state - Elasticsearch can still be only hosted by Elastic Co (but we are not lawyers..).
On the OpenSearch front, OpenSearch is still fully open source under the Apache Software License 2.0, and AWS transferred OpenSearch governance to the Linux Foundation, creating the OpenSearch Software Foundation (OSSF). This move establishes a vendor-neutral governance model, fostering open collaboration among contributors, businesses, and developers. By anchoring the project within the Linux Foundation, OpenSearch is positioned to grow sustainably as a key player in the search, analytics, and observability ecosystems.
Performance and Scalability
Performance evaluations between Elasticsearch and OpenSearch have yielded varying results. In certain vendor benchmarks, Elasticsearch has demonstrated superior performance, being 40%–140% faster than OpenSearch while utilizing fewer compute resources (link).
While specific performance metrics are less prominently published for OpenSearch, in 2024 there have been several efforts on optimizing performance for OpenSearch as well. We’ve listed some of them in the 2024 update for OpenSearch.
It’s hard to tell if there is a real difference, as both are sharing the very same Lucene core and wrapping codebase and performance is being worked on by both teams, sometimes maybe with different purposes. It's important to note that performance can be influenced by various factors, including hardware configurations, data complexity, and specific use cases. Also, vendor-provided benchmarks are often biased. Therefore, we’d defer from calling out a winner and advise conducting benchmarks tailored to your environment where needed.
Elasticsearch vs OpenSearch as a Vector Database
Elasticsearch and OpenSearch both offer vector search capabilities and can be used as a fully fledged Vector Database. In fact, both have characteristics and features that make them stand out as really great vector databases - the well-known and simple syntax, hybrid search capabilities with very mature full-text search capabilities, well-understood scaling capabilities, and more.
Both platforms can handle the complexity and scale required to implement any Semantic Search or Augmented Generation (RAG) use-cases. This is also where the most significant differences exist between the two.
- Vector Engine: Both systems offer Lucene as the backing store and lookup engine for vector search. However, OpenSearch implements additional two industry-standard vector search engines:
Faiss
andnmslib
. These additional engines help OpenSearch to differentiate itself from Elasticsearch in vector search in several ways as we’ll see. - Dense Vector Field Support: Each platform supports dense vector fields, enabling the efficient storage and representation of complex data, such as text and images, that are critical for AI and machine learning workflows. While Elasticsearch has a limit of vector dimension of up to 4,096 (with earlier versions having support only for lower dimensions), OpenSearch supports vectors with a dimension of up to 16,000 through
faiss
andnmslib
. - Vector Similarity Search: Both platforms implement advanced vector similarity and lookup through either exact k-NN (Nearest Neighbor) or ANN (Approximate Nearest Neighbor) and supporting several algorithms for ANN such as Hierarchical Navigable Small World (HNSW), to find the most relevant search results quickly.
- Exact k-NN in Elasticsearch and OpenSearch utilizes the
script_score
query with functions likel1Norm
,l2Squared
,cosineSimilarity
, anddotProduct
for exact vector searches. - Fast vector lookup with ANN, for faster lookups in larger dimensions and vector spaces, both support the HNSW indexing and algorithm. OpenSearch in addition to that supports IVF and PQ indexing as alternatives to HNSW for different use-cases.
- Another OpenSearch differentiator is the built-in support for various quantization techniques such as byte-vector and Faiss FP16.
While Elasticsearch vector search is fast, and getting faster and better all the time, it’s based on Lucene’s support for vector search and OpenSearch receives the same updates as well. The only benefit for using Elasticsearch for vector search is when any of the Elastic solutions are needed (Enterprise Search, SIEM, APM).
OpenSearch is a better option as it provides faster vector search (better ANN optimizations, mostly); IVF, PQ, or alternative ANN methods; and higher dimensional vectors.
GenAI and LLM Support
Since vector search is often used as a component in a larger system (often RAG type systems), both technologies realised it’d be beneficial to have better support for generating embeddings as well as executing RAG workflows.
While Elasticsearch has a more mature API for RAG workflows (for example - RRF support and the Retriever framework), OpenSearch is catching up with the flexibility provided by its plugin system. This gives users more control over how they implement vector search and integrate it with AI-powered applications, for instance via the Neural search query type.
Elasticsearch offers the ESRE (Elasticsearch Retriever API), which facilitates retrieval-augmented generation (RAG) workflows and is able to completely encapsulate the complexity of such systems. ESRE can handle everything from generating embeddings during indexing or queries to executing complex RAG workflows through the Retrievers API, thus making it easy to build RAGs and similar solutions at least for simpler use-cases.
OpenSearch does not provide something as complete as ESRE, however users can access pre-trained text embedding and access external models during indexing and querying.
Solutions and Ecosystem
OpenSearch is clearly focusing on the core and making the search engine technology available for everyone while Elasticsearch keeps doubling down on end to end solutions for a variety of use-cases.
Elastic offers several high-demand solutions that are building on the strong Elasticsearch core - such as APM with full Open Telemetry support, enterprise-grade SIEM solution, App and Organization Search solutions, Observability solution with plethora of integrations, and so on.
Elastic also includes a strong Machine Learning solution, full-blown and feature rich which allows to run traditional ML jobs such as anomaly detection, classification and so on on the cluster itself without exporting the data.
OpenSearch however has limited functionality around ML and Open Telemetry, and definitely not full-blown solutions that are part of the project itself. Some community-backed solutions do exist such as Wazuh which is an open source XDR and SIEM solution based on OpenSearch.
Other core and important features such as LDAP and Active Directory integrations, RBAC,and similar are part of OpenSearch itself for free and do not require a costly license like is the case with Elasticsearch.
Pricing and Cost Efficiency
Both Elasticsearch and OpenSearch are free to run anywhere and if you are managing it yourself. The only available managed offering for Elasticsearch is Elastic Cloud, by Elastic Co. The managed version of OpenSearch by Amazon (Amazon OpenSearch Service) is often cheaper for several reasons.
The main cost efficiency benefit comes from data tiering, and a “frozen” tier which is served by searchable snapshots is the most significant cost saver especially in the observability and log and analytics use-cases. While Elastic Cloud (and Elasticsearch via an X-Pack subscription) offers it on the higher tier, it is a free feature on OpenSearch for both managed and self-managed.
Another reason is the cost of running on the managed service. Amazon OpenSearch Service is simply cheaper than Elastic Cloud in most cases.
On that angle, OpenSearch wins big. It is definitely more cost efficient whether running on a managed service or maintaining it yourself. We at BigData Boutique offer OpenSearch and also Elasticsearch support services for those who need it.
Observability and Monitoring
Monitoring your cluster is crucial for maintaining its health, performance, and stability. This is no more apparent than when running large-scale operations or handling AI-driven workloads. Both Elasticsearch (via Kibana Monitoring) and OpenSearch (via Opensearch Dashboards) offer built-in tools for monitoring the cluster.
The managed solutions also offer their own monitoring - cluster monitoring is available for clusters running on Elastic Cloud, and on Amazon OpenSearch Service there are built-in CloudWatch metrics available on the control plane.
In previous posts we discussed various options for Elasticsearch monitoring as well as OpenSearch monitoring. At the end of the day, monitoring is important and you might consider stepping up the game a bit to facilitate OpenSearch or Elasticsearch monitoring with Pulse which provides not only dashboards but also bottom lines and actionable recommendations.
Summary
Here is a summary of key points discussed:
Feature | Elasticsearch | OpenSearch |
---|---|---|
License | SSPL (not OSI-approved); core is AGPLv3. | Apache 2.0 (OSI-approved) |
Governance | Controlled by Elastic | OSSF, community-driven, AWS influenced |
Security Features | Proprietary (X-Pack) | Built-in, open-source |
Vector Search Engine | Lucene | Lucene, faiss, nmslib |
Max Vector Dimension | 4,098 | 16k |
RAG Readiness | ESRE (full) | Vector search, Pretrained models support |
Full-blown Solutions | APM, SIEM, Enterprise Search, and more. | Some, mostly community- contributed. |
Updates & Features | Fast-paced with proprietary features; led by a company | Open development process with OSSF governance |
Managed Options | Elastic Cloud only | Amazon OpenSearch Service, Aiven, Instaclustr and others. |
The key differentiator between Elasticsearch and OpenSearch seems to be mostly with the ecosystem and end-to-end solutions. If you need an APM or SIEM solution, or need more complex integrations or the full platform offered by Elasticsearch - you’d better go with it.
If you need to leverage the core functionality - for example a search engine or observability platform built, or looking for a managed solution but lower costs, OpenSearch is definitely a better choice. Also when looking for a Vector Database, OpenSearch often offers better flexibility and performance than Elasticsearch.
Submit Comment