RousselTMLEARNING

Article · OpenSearch: from discovery to expertise

OpenSearch: concepts and differences with Elasticsearch

1. OpenSearch at a glance #

An open source search and analytics engine.

Overview #

OpenSearch is a distributed search and analytics engine built on Apache Lucene, with its console OpenSearch Dashboards. It serves application search, log analytics, observability, security and, increasingly, vector search. All its components are published under the Apache 2.0 license.

Its history with Elasticsearch #

In 2021, Elastic moved Elasticsearch and Kibana away from the Apache 2.0 license. AWS and contributors then created OpenSearch from the last Apache 2.0 versions (7.10). Since 2024, the project has been hosted by the OpenSearch Software Foundation, within the Linux Foundation. Elastic in turn added an AGPL option to its licenses in 2024.

PointOpenSearchElasticsearch
LicenseApache 2.0Elastic License, SSPL or AGPL, at your choice
Security, alerting, ISMIncluded pluginsDepends on the subscription
Index lifecycleISM (_plugins/_ism)ILM
LanguagesDSL, SQL, PPLDSL, SQL, ES|QL
ConsoleOpenSearch DashboardsKibana
The two projects have diverged. Concepts and much of the API remain common, but do not assume that a configuration, client or plugin is compatible: check. Some official Elasticsearch clients refuse to connect to OpenSearch; use the OpenSearch clients.

2. Concepts #

Indexes, shards and replicas.

Vocabulary #

ConceptMeaning
DocumentA JSON object
IndexA collection of documents
ShardA piece of an index, which is a Lucene index
Primary / replicaThe original and its copy
MappingThe type of each field
Cluster managerNode managing cluster state: the former “master”

The cluster #

An OpenSearch cluster with its shards and replicas
The number of primaries is set at index creation; the number of replicas can change at any time.
StateMeaningWhat to do?
greenAll shards are assignedNothing
yellowSome replicas are unassignedNormal with a single node; otherwise, add a node
redSome primaries are missingUrgent: data is unavailable

3. Components #

What surrounds the engine.

The ecosystem #

ComponentPurpose
OpenSearch DashboardsExploration, visualizations, administration
Data PrepperCollection and transformation, recommended for ingestion
Included pluginsSecurity, Alerting, Index Management, SQL/PPL, k-NN, Observability, Anomaly Detection…

The official 3.9 archive ships these plugins and its own JDK; list them with GET _cat/plugins.

📄 OpenSearch: concepts, architecture and differences with Elasticsearch →

My progress

  • ⏱ Estimated time : ≈ 3 min

Sign in to track your progress and take notes. Sign in

💬 Ask a question

Recommended Articles

Data streams et templates Elasticsearch : component templates, index templates et séries temporelles

Gérer les données horodatées avec les data streams : index templates et component templates, conv...

Understanding the Elastic Common Schema (ECS)

As always in our consulting engagements, we recommend that companies harmonise and standardise: k...

Cross-cluster search et cross-cluster replication : architectures multi-clusters Elasticsearch

Concevoir des architectures multi-clusters Elasticsearch : clusters distants, cross-cluster searc...

Index Lifecycle Management (ILM) : data tiers, rollover et rétention

Automatiser le cycle de vie des index avec ILM : data tiers hot, warm, cold et frozen, rollover p...

Différences entre Technologies et Services dans Dynatrace

Dans Dynatrace, les concepts de 'Technologie' et de 'Services' aident à organiser et surveiller l...

Dynatrace : Différences entre SQL Modifications, SQL Queries or Procedures, et SQL Transactions

Cet article détaille les différences entre trois concepts essentiels dans l'exécution des instruc...

Understanding the concept of score

The concept of score allows Elasticsearch to rank your documents by relevance during a search.

Ingestion Elasticsearch : Bulk API, ingest pipelines, enrich et reindex

Ingérer et transformer des données dans Elasticsearch : Bulk API, ingest pipelines et processeurs...

Query DSL et agrégations avancées Elasticsearch, avec ES|QL

Écrire des requêtes Elasticsearch avancées : bool, filter et score, nested, function_score et per...

Support us

♥ SUPPORT US

Support RousselTM Learning

Courses, articles, labs and certificates stay free with no intrusive ads. A voluntary contribution, of any amount you choose, pays for hosting, lab environments and new content.

Contribute with PayPal Any amount · card or PayPal accountLearn more
QR code PayPal
Or scan this QR code with your phone

Thank you, every contribution counts!