OpenSearch est une suite de recherche et d'analyse distribuée, gérée par la communauté, sous licence Apache 2.0 et 100 % open source, utilisée pour un grand nombre de cas d'utilisation tels que la surveillance des applications en temps réel, l'analyse des journaux et la recherche de contenu sur site Web. OpenSearch offre un système hautement évolutif pour accéder rapidement à de grands volumes de données et pour leur apporter les réponses nécessaires grâce à un outil de visualisation intégré, OpenSearch Dashboards, qui permet aux clients d'explorer facilement leurs données. OpenSearch est alimenté par la bibliothèque de recherche Apache Lucene et prend en charge un certain nombre de fonctionnalités de recherche et d'analyse telles que la recherche KNN (k-nearest neighbors), SQL, la détection d'anomalies, le Machine Learning Commons, l'analyse de traces, la recherche plein texte, etc.

Q : Pourquoi utiliser OpenSearch ?

OpenSearch vous permet d'ingérer, de sécuriser, de rechercher, d'agréger, de visualiser et d'analyser facilement des données pour un certain nombre de cas d'utilisation tels que l'analyse de journaux, la recherche dans les applications, la recherche dans les entreprises, etc. Avec OpenSearch, vous bénéficiez d'un produit 100 % open source que vous pouvez utiliser, modifier, élargir, monétiser et revendre comme vous le voulez. Il existe un nombre croissant de partenaires du projet OpenSearch qui offrent une variété de services tels qu'une assistance professionnelle, des fonctionnalités améliorées et des services OpenSearch gérés. Le projet OpenSearch continue de fournir une suite de recherche et d'analytique sécurisée et de haute qualité, dotée d'une feuille de route enrichie d'une nouvelle fonctionnalité innovante.

Q : Pourquoi OpenSearch a-t-il été créé ?

Il existe de nombreuses raisons pour lesquelles les développeurs optent pour un logiciel open source. L'une des principales raisons est la liberté d'utiliser ce logiciel où ils veulent et comme ils le veulent. Le 21 janvier 2021, Elastic NV a annoncé vouloir changer sa stratégie de licences logicielles et qu'il n'y aurait pas de nouvelles versions d'Elasticsearch et de Kibana sous la licence permissive Apache Version 2.0 (ALv2). Au lieu de cela, Elastic lance Elasticsearch et Kibana, en mettant à disposition le code source sous licence Elastic ou sous licence SSPL (Server Side Public Licence, ou licence publique côté serveur). Ces licences ne sont pas open source et n'offrent pas les mêmes libertés aux utilisateurs. Parce que certains développeurs veulent que leur logiciel soit open source et parce qu'ils veulent éviter le verrouillage par un seul fournisseur, nous avons pris la décision de créer et de maintenir un fork à partir de la dernière version ALv2 d'Elasticsearch et de Kibana. Ce fork s'appelle OpenSearch et est disponible sous ALv2.

Q : Quel est le lien entre OpenSearch et Amazon OpenSearch Service ?

Amazon OpenSearch Service est un service géré par AWS qui vous permet d'exécuter et de faire évoluer des clusters OpenSearch sans avoir à vous soucier de la gestion, de la surveillance et de la maintenance de votre infrastructure, ni à acquérir une expertise approfondie de l'exploitation des clusters OpenSearch. Nous avons lancé la prise en charge d'OpenSearch dans Amazon OpenSearch Service en septembre 2021, à partir de la version 1.0, et nous avons renommé le service Amazon Elasticsearch Service en Amazon OpenSearch Service. Depuis lors, le service a pris en charge plusieurs nouvelles fonctionnalités qui ont été ajoutées à OpenSearch à travers de plusieurs versions. Quelques exemples sont la prise en charge de la réplication entre clusters, l'analyse de traces, les flux de données, les transformations, une nouvelle interface utilisateur d'observabilité et les blocs-notes dans les tableaux de bord OpenSearch. En outre, des améliorations importantes ont été apportées à k-NN, à la détection d'anomalies, à PPL, à SQL et aux alertes. Bien qu'Amazon OpenSearch Service continue de prendre en charge les anciennes versions open source d'Elasticsearch (jusqu'à la version 7.10), nous vous recommandons vivement d'utiliser OpenSearch sur le service afin de bénéficier des nouvelles fonctionnalités qui sont intégrées aux versions open source d'OpenSearch.

Q : Amazon OpenSearch Service prendra-t-il en charge les nouvelles versions d'Elasticsearch au-delà de la version 7.10 ?

Non. Les versions d'Elasticsearch au-delà de 7.10 ne sont pas open source et ne sont pas publiées sous la licence permissive ALv2. Amazon OpenSearch Service continuera à prendre en charge les versions open source d'Elasticsearch jusqu'à la version 7.10, mais à l'avenir, nous exploiterons les nouvelles versions de l'open source OpenSearch pour proposer des fonctionnalités et des innovations aux clients utilisant Amazon OpenSearch Service pour leurs différents cas d'utilisation tels que l'analyse de journaux, la recherche et l'observabilité.

Q : OpenSearch maintiendra-t-il la compatibilité et la parité des fonctionnalités avec les nouvelles versions d'Elasticsearch ?

La feuille de route d'OpenSearch est axée sur la communauté et diverses organisations, dont AWS, contribuent à l'ajout de nouvelles fonctionnalités au code source ouvert. OpenSearch est utilisée pour un grand nombre de cas d'utilisation tels que la surveillance des applications en temps réel, l'analyse des journaux et la recherche de contenu sur site Web. La feuille de route d'OpenSearch doit être considérée comme indépendante de celle d'Elasticsearch, et l'objectif d'OpenSearch sera de fournir les nouvelles fonctionnalités et innovations demandées par la communauté et les clients. Bien qu'OpenSearch puisse inclure des fonctionnalités similaires aux nouvelles fonctionnalités disponibles dans Elasticsearch (et vice versa), l'implémentation de toutes les fonctionnalités est unique à chaque projet. L'objectif principal d'OpenSearch sera de créer ce qui répond le mieux aux besoins de la communauté OpenSearch et de nos clients.

Q : Quelles sont quelques fonctionnalités offertes par OpenSearch ?

Fonctionnalité Avantage
Sécurité avancée Offre des fonctions de chiffrement, d'authentification, d'autorisation et d'audit. Ces fonctions s'intègre à Active Directory, LDAP, SAML, Kerberos, aux jetons Web JSON, et bien plus encore. OpenSearch fournit également un contrôle d'accès précis et basé sur les rôles aux index, documents et champs.
Capacités de recherche intégrées Offre un certain nombre de fonctionnalités pour vous aider à personnaliser votre expérience de recherche, telles que la recherche en texte intégral, la complétion automatique, la recherche par défilement, la notation et le classement personnalisables, etc.
Syntaxe des requêtes SQL Fournit la syntaxe courante des requêtes SQL. Interrogez vos données via des clauses d'agrégation, de classification et de localisation en vue d'un examen minutieux. Lisez vos données sous formes de documents JSON ou de tables CSV, et choisissez le format qui convient le mieux à votre utilisation.
Prise en charge de la recherche dans SQL Vous permet d'utiliser la syntaxe familière des requêtes SQL tout en ayant accès à un riche ensemble de capacités de recherche telles que la correspondance approximative, le boosting, la correspondance de phrases et plus encore.
Data Prepper Data Prepper est un collecteur de données côté serveur capable de filtrer, d'enrichir, de transformer, de normaliser et d'agréger des données pour l'analyse et la visualisation en aval. Data Prepper permet aux utilisateurs de créer des pipelines personnalisés pour améliorer la vue opérationnelle des applications.
Trace Analytics Trace Analytics fournit un moyen d'ingérer et de visualiser les données OpenTelemetry dans OpenSearch. Ces données peuvent vous aider à trouver et à résoudre les problèmes de performance dans les applications distribuées.
Analyse d'application Utilisez l'analyse d'application pour créer des applications d'observabilité personnalisées afin de visualiser l'état de disponibilité de vos systèmes, où vous pouvez combiner les événements du journal avec les données de trace et métriques en une seule vue de l'état général du système. Cela vous permet de pivoter rapidement entre les journaux, les traces et les métriques pour creuser la source de tout problème.
Piped Processing Language Le Piped Processing Language fournit la syntaxe courante des requêtes ainsi qu'un ensemble complet de commandes délimitées par des barres verticales (|) afin d'interroger les données.
Panneaux opérationnels Créez des panneaux opérationnels pour organiser les visualisations d'observabilité générées à l'aide du Piped Processing Language (PPL).
Analytique des événements Utilisez les requêtes du Piped Processing Language (PPL) pour créer et afficher de manière interactive différentes visualisations de vos données, notamment les corrélations entre les journaux de traces.
Bibliothèque ML Commons Utilisez de nombreux algorithmes de machine learning comme les kmeans et la détection d'anomalies pour entraîner des modèles et prédire des tendances dans vos données. ML Commons s'intègre directement à PPL et à l'API REST.
Rapports Planifiez, exportez et partagez vos rapports à partir de vos tableaux de bord, recherches enregistrées, alertes et visualisations. 
Détection des anomalies Tirez profit de la détection des anomalies du Machine Learning, basée sur l'algorithme Random Cut Forest (RCF), pour détecter automatiquement des anomalies au fur et à mesure de l'intégration de vos données. Combinez la détection des anomalies à la fonction d'alerte pour surveiller vos données en temps quasi réel et envoyer automatiquement des notifications d'alerte. 
Gestion des index Définissez des politiques personnalisées pour automatiser les tâches courantes de gestion des index, telles que le roulement et la suppression, et appliquez ces politiques aux index et modèles d'index.
Transformations d'index Créez une vue résumée de vos données centrée sur certains champs, afin de pouvoir visualiser ou analyser les données de différentes manières. Par exemple, supposons que vous ayez des données sur les compagnies aériennes dispersées dans plusieurs champs et catégories et que vous vouliez afficher un résumé des données organisé par compagnie aérienne, trimestre, puis prix. Vous pouvez utiliser une tâche de transformation pour créer un nouvel index résumé, organisé selon ces catégories spécifiques.
Rollups d'index Choisissez les champs qui vous intéressent et utilisez l'index rollup pour créer un nouvel index avec uniquement ces champs agrégés dans des tranches de temps de moindre granularité. Vous pouvez stocker des mois ou des années de données historiques à une fraction du coût avec les mêmes performances de requête.
Performance Analyzer et cadre RCA Interrogez de nombreuses métriques et agrégations de performances de votre cluster. Utilisez l'interface de ligne de commande (CLI) PerfTop pour afficher et analyser rapidement ces métriques. Utilisez le cadre RCA (analyse des causes profondes) pour comprendre les problèmes de performance et de fiabilité de vos clusters.
Recherche asynchrone Exécutez des requêtes complexes sans vous soucier du délai d'expiration de la requête, en ayant des requêtes de recherche asynchrone s'exécutant en arrière-plan. Suivez la progression des requêtes et consultez les résultats au fur et à mesure.
Trace Analytics Intégrez et visualisez les données d'OpenTelemetry pour les applications distribuées. Visualisez le flux des événements entre ces applications pour identifier les problèmes de performance.
Fonction d'alerte Surveillez automatiquement vos données et envoyez automatiquement des notifications d'alerte aux parties prenantes. Configurez, gérez et surveillez facilement les alertes grâce à une interface intuitive et une API puissante. Créez des conditions d'alerte très spécifiques à l'aide des fonctionnalités complètes de langage de requêtes et de scripts d'OpenSearch.
Alerte au niveau des compartiments Créez des politiques d'alerte qui alertent sur des tendances groupées dans vos données. Par exemple, vous pouvez lancer une alerte pour chaque hôte dont le CPU moyen est supérieur au seuil que vous souhaitez.
Réplication entre clusters Répliquez les index, les mappages et les métadonnées d'un cluster OpenSearch à un autre afin de créer une redondance entre clusters ou de décharger les requêtes de reporting sur un cluster secondaire.
Recherche k-NN À l'aide du Machine Learning, exécutez l'algorithme de recherche du voisin le plus proche sur des milliards de documents dans des milliers de dimensions, avec la même facilité d'exécution qu'une requête OpenSearch normale. Utilisez les agrégations et filtrez les clauses pour affiner davantage vos opérations de recherche de similitude. La recherche de similitude k-NN s'appuie sur les cas d'utilisation tels que les recommandations de produits, la détection de fraude, la recherche d'images et de vidéos, la recherche de documents connexes, etc.
Blocs-notes des tableaux de bord Associez des tableaux de bord, des visualisations, du texte et plus encore pour fournir un contexte et des explications détaillées lors de l'analyse des données.
Clients OpenSearch OpenSearch prend en charge de nombreux langages clients tels que Go, JavaScript, Python, Java, etc. Utilisez ces clients pour créer des applications qui s'intègrent directement à OpenSearch.

Q : Qui sponsorise et maintient OpenSearch ?

De nombreuses organisations, dont AWS, SAP, CapitalOne, RedHat, Logz.io, Aiven.io, Bonsai, Logit.io, InstaCluster et BAInsight, ont publiquement apporté leur soutien à OpenSearch.

Nous encourageons et acceptons les contributions de la communauté et n'exigeons pas d'accord de licence de contributeur (CLA) pour le faire. En outre, si vous êtes un contributeur actif et que vous voulez assumer davantage de responsabilités dans le projet, nous avons défini un processus permettant aux employés non-AWS d'obtenir des droits de maintenance dans les référentiels du projet OpenSearch ici

Q : Quel est l'avenir d'OpenSearch ?

Nous avons lancé la première version généralement disponible d'OpenSearch 1.0 en juillet 2021 et depuis lors, nous avons lancé 4 nouvelles versions, OpenSearch 2.0 étant la dernière en date. Grâce à l'intérêt et au soutien de la communauté, nous avons introduit plusieurs nouvelles fonctionnalités dans des cas d'utilisation clés concernant l'analyse des journaux, la recherche et l'observabilité. Ces domaines restent des thèmes clés pour les améliorations futures d'OpenSearch et de notre couche de visualisation OpenSearch Dashboards. Veuillez consulter la feuille de route pour un aperçu rapide des domaines clés sur lesquels OpenSearch se concentre. 

Q : Quelle est la licence d'OpenSearch ?

Tous les logiciels du projet OpenSearch sont publiés sous licence Apache version 2.0 (ALv2). ALv2 octroie des droits d'utilisation faciles et permissifs qui correspondent aux libertés dont les personnes souhaitent bénéficier avec un logiciel open source : par exemple, pouvoir utiliser, modifier, élargir, monétiser et revendre le logiciel open source où elles veulent et comme elles le veulent. Pour OpenSearch, nous pensons que cette licence pourra être adoptée à grande échelle par tous les membres de la communauté et qu'elle leur sera bénéfique. Nous avons également publié des directives d'utilisation permissives pour la marque déposée OpenSearch, afin que vous puissiez utiliser le nom dans le but de faire la promotion de vos offres.

Q : Où puis-je trouver plus d'informations sur la compatibilité du client et de l'API d'OpenSearch ?

Veuillez consulter les Questions fréquentes (FAQ) sur le site Web d'OpenSearch en open source. Les questions fréquentes (FAQ) sont également une excellente source d'informations sur les outils et les plugins, la compatibilité des mises à jour, la communauté en général et la façon dont vous pouvez contribuer à OpenSearch et en bénéficier.

Ressources supplémentaires

OpenSearch comprend certains codes Elasticsearch sous licence Apache d'Elasticsearch B.V. et d'autres codes source. Elasticsearch B.V. n'est pas la source de cet autre code source. ELASTICSEARCH est une marque déposée d'Elasticsearch B.V.