Este artículo está disponible en francés.
1. OpenSearch en bref #
Un moteur de recherche et d'analyse open source.
Présentation #
OpenSearch est un moteur de recherche et d'analyse distribué, construit sur Apache Lucene, et sa console OpenSearch Dashboards. Il sert à la recherche applicative, à l'analyse de logs, à l'observabilité, à la sécurité et, de plus en plus, à la recherche vectorielle. Tous ses composants sont publiés sous licence Apache 2.0.
Son histoire avec Elasticsearch #
En 2021, Elastic a quitté la licence Apache 2.0 pour Elasticsearch et Kibana. AWS et des contributeurs ont alors créé OpenSearch à partir des dernières versions sous Apache 2.0 (7.10). Depuis 2024, le projet est hébergé par l'OpenSearch Software Foundation, au sein de la Linux Foundation. Elastic a de son côté ajouté une option AGPL à ses licences en 2024.
| Point | OpenSearch | Elasticsearch |
|---|---|---|
| Licence | Apache 2.0 | Elastic License, SSPL ou AGPL selon le choix |
| Sécurité, alerting, ISM | Plugins inclus | Selon l’abonnement |
| Cycle de vie des index | ISM (_plugins/_ism) | ILM |
| Langages | DSL, SQL, PPL | DSL, SQL, ES|QL |
| Console | OpenSearch Dashboards | Kibana |
Les deux projets ont divergé. Les concepts et une grande partie de l'API restent communs, mais ne supposez pas la compatibilité d'une configuration, d'un client ou d'un plugin : vérifiez. Certains clients officiels Elasticsearch refusent de se connecter à OpenSearch ; utilisez les clients OpenSearch.
2. Les concepts #
Index, shards et répliques.
Le vocabulaire #
| Concept | Sens |
|---|---|
| Document | Un objet JSON |
| Index | Une collection de documents |
| Shard | Un morceau d’index, qui est un index Lucene |
| Primaire / réplique | L’original et sa copie |
| Mapping | Le type de chaque champ |
| Cluster manager | Nœud gérant l’état du cluster : l’ancien « master » |
Le cluster #
| État | Sens | Que faire ? |
|---|---|---|
| green | Tous les shards sont assignés | Rien |
| yellow | Des répliques ne sont pas assignées | Normal avec un seul nœud ; sinon, ajouter un nœud |
| red | Des primaires manquent | Urgence : des données sont indisponibles |
3. Les composants #
Ce qui entoure le moteur.
L'écosystème #
| Composant | Rôle |
|---|---|
| OpenSearch Dashboards | Exploration, visualisations, administration |
| Data Prepper | Collecte et transformation, recommandé pour l’ingestion |
| Plugins inclus | Security, Alerting, Index Management, SQL/PPL, k-NN, Observability, Anomaly Detection… |
L'archive officielle 3.9 embarque ces plugins et son propre JDK ; vous pouvez les lister avec GET _cat/plugins.
Mi seguimiento
Inicia sesión para seguir tu progreso y tomar notas. Iniciar sesión
Artículos recomendados
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...
Cross-cluster search et cross-cluster replication : architectures multi-clusters Elasticsearch
Concevoir des architectures multi-clusters Elasticsearch : clusters distants, cross-cluster searc...
Explorer ses données dans Discover : KQL, Lucene et ES|QL
Rechercher et analyser des logs dans Kibana Discover : filtres, KQL, syntaxe Lucene, et le langag...
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...
Kibana avancé : data views, Lens, dashboards, alerting et reporting
Exploiter Kibana en profondeur : data views et champs runtime, Discover, Lens et formules, dashbo...
Fluent Bit : les outputs (sorties), routage et fiabilité de l'envoi
Envoyer les données de Fluent Bit : routage par Match et Match_Regex, sorties Loki, Elasticsearch...
Kibana : rôle, installation et premiers pas
Ce qu'est Kibana dans la suite Elastic, comment l'installer avec Elasticsearch (start-local, Dock...
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...