OpenSearch est un moteur de recherche et d’analytique open source utilisé pour indexer, interroger et analyser des données provenant d’une large gamme de sources de données.
Conçu sur Apache Lucene et dérivé à l'origine d' Elasticsearch(un autre Analytics Engine), OpenSearch fournit une architecture évolutive et distribuée pour la recherche en temps réel, l'observabilité, l'analytique et les cas d’utilisation d'analyse de sécurité.
OpenSearch comprend les tableaux de bord OpenSearch pour la visualisation des données et la surveillance des applications. Il propose également un écosystème large de plugins, d' interfaces de programmation d'application (API) et de clients qui prennent en charge les workflows analytiques dans les environnements de données modernes.
Développé comme un projet open source avec une feuille de route définie par la communauté, les Entreprises peuvent utiliser OpenSearch sans restrictions de licence ni enfermement propriétaire. Sa compatibilité avec les versions antérieures d’Elasticsearch — ainsi que son cadre des exigences extensible de plugins — permet aux équipes d’adopter OpenSearch comme Flexible Analytics pour les Workload opérationnelles, les machine learning pipelines et les applications.
Restez au fait des tendances les plus étonnantes du secteur dans le domaine de l’IA, de l’automatisation, des données et bien d’autres avec la newsletter Think. Consultez la Déclaration de confidentialité d’IBM.
Les entreprises d’aujourd’hui génèrent des volumes importants de données qui peuvent être inestimables, mais seulement si les données sont indexées, consultables et disponibles en temps réel. OpenSearch fournit ces fonctionnalités via une architecture de recherche open source conçue dans un souci d'évolutivité, de rentabilité et d'interopérabilité.
En pratique, OpenSearch offre :
Les entreprises bénéficient d'une visibilité totale sur la base de code et la feuille de route d'OpenSearch, ce qui leur permet de personnaliser la plate-forme pour répondre à leurs besoins internes.
OpenSearch assure la compatibilité des API et de la syntaxe des requêtes avec l'open source Elasticsearch, ce qui signifie que les entreprises peuvent adopter ou moderniser leurs Workload sans avoir à effectuer de nombreuses réécritures.
Son architecture en cluster prend en charge la haute disponibilité via des nœuds, des répliques et des partitions, ce qui permetune recherche à faible latence sur de grands jeu de données (pour plus de détails, voir Comment fonctionne OpenSearch).
OpenSearch peut ingérer des logs, des indicateurs et des traces à l’échelle, alimentant les tableaux de bord utilisés pour le dépannage et l'analyse.
Grâce à l’authentification et au contrôle d’accès intégrés, les équipes peuvent appliquer des capacités de recherche à des charges de travail de sécurité.
En tant que logiciel open source, OpenSearch peut être déployé sur site, auprès de fournisseurs de cloud ou via des offres de services gérés.
OpenSearch a vu le jour en réponse aux modifications apportées aux licences d'Elasticsearch et de Kibana, une couche de visualisation très répandue. Les versions antérieures d'Elasticsearch étaient publiées sous la licence Apache 2.0, mais les versions ultérieures ont adopté la Server Side Public License (SSPL) et la Elastic License. Ces licences restreignent la réutilisation des logiciels open source, ce qui pose des problèmes aux entreprises qui s'appuient sur des logiciels de recherche librement déployables et redistribuables.
Pour préserver un écosystème de recherche ouvert, Amazon Web Services (AWS) a forké (c'est-à-dire créé une copie indépendante) les dernières versions Apache 2.0 d'Elasticsearch et de Kibana, créant ainsi le projet OpenSearch. Le projet a introduit de nouvelles fonctionnalités et améliorations sous un modèle de gouvernance ouvert, et a renforcé la compatibilité avec les API Elasticsearch et les bibliothèques clients afin de simplifier la migration.
Depuis lors, le projet OpenSearch a évolué indépendamment. Il propose une feuille de route axée sur la communauté, des contributions de plusieurs fournisseurs et un écosystème croissant de plugins hébergés sur GitHub. Bien qu'il reste compatible avec de nombreux modèles Elasticsearch, OpenSearch a élargi son ensemble de fonctionnalités avec des plugins pour la recherche vectorielle, la détection d'anomalies et des outils d'observabilité avancés.
Bien que les deux projets partagent une origine commune, leurs trajectoires ont divergé. Elasticsearch continue sous SSPL et Elastic License avec une stratégie de développement de fonctionnalités propriétaires. OpenSearch, en revanche, reste sous licence Apache 2.0 et privilégie l'ouverture, l'extensibilité et la visibilité opérationnelle. Par conséquent, les entreprises qui font le choix entre les deux évaluent désormais non seulement les fonctionnalités, mais aussi les modèles de gouvernance, les conditions de licence et l’orientation à long terme de l’écosystème.
La compatibilité continue d'être un lien important entre les projets : OpenSearch prend toujours en charge de nombreuses API Elasticsearch, modèles de requêtes et bibliothèques clientes des versions précédentes, aidant ainsi les équipes à migrer avec un minimum de refactorisation. Elle préserve également des structures de dépôt et des formats d'index similaires, afin de permettre aux utilisateurs qui quittent Elasticsearch de se familiariser.
OpenSearch repose sur une architecture distribuée conçue pour être évolutif et performances en temps réel. Ses composants principaux comprennent des clusters, des nœuds, des indices, des shards et des documents, qui fonctionnent ensemble pour magasin et récupérer efficacement les données.
Les nœuds sont des serveurs ou des instances conteneurisées qui effectuent des opérations d’indexation, d’interrogation et de stockage. Les types de nœuds courants incluent :
Un cluster est un ensemble d’un ou plusieurs nœuds qui travaillent ensemble pour gérer les données et exécuter des requêtes. Les clusters offrent de la redondance et un équilibrage de charge afin que les défaillances des nœuds n’affectent pas la performance globale. Chaque cluster conserve des métadonnées sur les index, les fragments et les informations de routage.
Un index est un espace de noms logique semblable à une table de base de données relationnelle. Il contient des mappings qui définissent la structure des documents JSON et des références aux unités de stockage (shards) qui magasin ces documents. Le terme « index » est également utilisé comme verbe pour décrire l’acte de peupler un index avec des données.
Les documents sont des objets JSON représentant des enregistrements individuels. En termes simples, il s’agit des données magasin et recherchées. Lorsqu’ils sont indexés, les champs de chaque document sont analysés, tokenisés et stockés dans des indices inversés.
Les shards sont les unités de stockage fondamentales d'OpenSearch où vivent les documents. Chaque index se compose de fragments principaux et de répliques optionnelles.
Chaque shard étant une instance autonome de Lucene (une bibliothèque de moteur de recherche autonome), OpenSearch répartit les shards sur plusieurs nœuds afin de paralléliser les opérations de recherche et d'augmenter les performances.
Alors, comment tout cela s’articule-t-il ? Lorsqu’un document est indexé, OpenSearch analyse le contenu et applique des analyseurs de texte et des tokenizeurs. Après traitement, il inscrit les termes dans le fragment approprié.
L’indexation est gérée par les nœuds de données et peut être répartie dans le cluster pour plus de rapidité et de fiabilité. Les requêtes sont ensuite envoyées à un nœud de coordination, qui identifie les partitions contenant les données pertinentes, envoie la requête à ces partitions et agrège les résultats.
Pensez-y comme une cuisine de restaurant avec différentes stations. L’indexation revient à préparer les ingrédients et à les envoyer au bon service pour qu’ils soient prêts dès que la commande arrive. Lorsqu'une requête arrive, le nœud de coordination agit comme un expéditeur : il appelle ce qui est nécessaire, rassemble les contributions de chaque station et livre une assiette finie.
OpenSearch inclut des fonctionnalités intégrées de recherche, d'analytique et d'observabilité. Les plugins et les extensions étendent les fonctionnalités, ce qui permet aux équipes d'adapter la plateforme à des charges de travail spécifiques.
Bien que non exhaustives, ces extensions populaires permettent des analyses avancées, machine learning (ML) et des scénarios d’observabilité :
Les entreprises qui préfèrent une expérience gérée peuvent également utiliser Amazon OpenSearch Service, qui automatise la mise à l’échelle, les sauvegardes, le remplacement des nœuds et la maintenance des clusters OpenSearch sur AWS.
OpenSearch Dashboards est l’interface de visualisation et d’analyse pour OpenSearch. Elle offre un environnement interactif pour explorer les données indexées, construire des visualisations et créer des tableaux de bord opérationnels utilisés dans les flux de travail d’observabilité, d’analyse de sécurité et de surveillance d’applications. Par exemple, les équipes peuvent tirer parti des tableaux de bord pour visualiser les tendances des indicateurs et étudier les anomalies en temps quasi réel.
OpenSearch Tableau de bord permet de créer des graphiques, des tableaux, des cartes, des carnets et des panneaux personnalisés. Il comprend également des fonctionnalités conçues pour rationaliser l'analyse. Les blocs-notes permettent aux utilisateurs de combiner des visualisations et du texte dans un seul récit, tandis que des panneaux opérationnels organisent les visualisations d'observabilité créées avec le Piped Processing Language sur un affichage unifié.
Étant donné qu'OpenSearch tableau de bord partage une interface utilisateur (UI) avec Kibana, de nombreuses équipes de données trouvent le flux de travail familier. Cependant, il est développé selon sa propre feuille de route et comprend des fonctionnalités qui reflètent l'ensemble des fonctionnalités d'OpenSearch.
OpenSearch prend en charge un large éventail de cas d’utilisation dans divers secteurs, notamment :
Les équipes indexent les journaux des applications, de l’infrastructure et des services cloud pour analyser les problèmes de performance et résoudre les pannes. OpenSearch prend en charge l'ingérer de gros volumes et l'analytique en temps réel, ce qui le rend adapté aux systèmes de production distribués, tels que les sites multinationaux de commerce électronique.
Avec le support des indicateurs, des journaux et des traces, OpenSearch fournit une plateforme d'observabilité intégrée. L'analyse des traces permet de visualiser les interactions entre les services, tandis que l'analyse des applications met en corrélation les données télémétriques afin de comprendre le comportement du système et de repérer les temps de latence ou les défaillances. Les tableaux de bord et les requêtes PPL permettent aux équipes d’enquêter rapidement sur les problèmes et de créer des vues opérationnelles réutilisables.
Les algorithmes de détection d'anomalies et de ML Commons d'OpenSearch permettent aux Entreprises d'appliquer des techniques de recherche et d'analyse aux Opérations de sécurité. Les équipes l'utilisent pour détecter des schémas inhabituels dans les journaux d'authentification ou le comportement des applications, ainsi que pour déclencher des notifications lorsque des conditions ou des seuils sont remplis.
Les organisations utilisent OpenSearch comme moteur de recherche pour leurs sites web, leurs catalogues de produits et leurs systèmes de contenu d'entreprise. La recherche en texte intégral, l'autocomplétion, la correspondance des phrases et la recherche vectorielle prennent en charge une série de cas d'utilisation liés à l 'expérience utilisateur et à la recommandation.
Les tableaux de bord OpenSearch fournissent des visualisations interactives, des rapports et des notes qui aident les équipes à explorer les données, à surveiller les tendances, à suivre les KPI et à partager des informations avec les parties prenantes.
Avec ML Commons, les équipes peuvent exécuter des opérations pilotées par modèle à l'intérieur d'OpenSearch, telles que clustering, classification et forecasting. Ces capacités prennent en charge des cas d'utilisation tels que la détection des fraudes, la prédiction de la demande, la segmentation de la clientèle et l'enrichissement des pipelines de données en aval.
Obtenez des réponses fiables grâce à des agents IA adaptés au contexte et alimentés par des données gouvernées et connectées, sans enfermement ni changement de plateforme.
Élaborez une stratégie de gestion des données qui élimine les silos, réduit la complexité et améliore la qualité des données pour offrir une expérience client et collaborateur exceptionnelle.
Réussissez le passage à l’échelle de l’IA avec la bonne stratégie, les données, la sécurité et la gouvernance adaptées.