Il y a quelques jours, le Logiciel OpenSearch Fondation, soutenue par la Fondation Linux, a annoncé, par le biais d'un annonce, le lancement d'OpenSearch 3.0, une version qui marque l'évolution du projet né comme un fork d'Elasticsearch et de Kibana.
Depuis sa création en 2021, OpenSearch s'est positionné comme une véritable alternative open source à l'écosystème Elastic, fonctionnant sous la licence Apache 2.0, contrairement au passage d'Elasticsearch à la licence AGPLv3.
Principales nouvelles fonctionnalités d'OpenSearch 3.0
La nouveauté la plus notable de cette version est la incorporation du moteur vectoriel OpenSearch, un moteur conçu pour gérer les données utilisées dans les systèmes d'apprentissage automatique et de recherche sémantique. Ce moteur permet des recherches vectorielles accélérées par GPU, permettant des améliorations de performances significatives : une indexation 9.3 fois plus rapide et une réduction de 3.75 fois des coûts d'exploitation par rapport aux solutions purement basées sur le CPU.
Le système prend également en charge le protocole MCP (Protocole de contexte modèle), qui vous permet d'intégrer OpenSearch avec des agents d'IA et des LLM, notamment Anthropic, LangChain et OpenAI, ouvrant la porte à de nouveaux cas d'utilisation axés sur l'intelligence artificielle et les systèmes conversationnels.
OpenSearch 3.0 intègre plusieurs optimisations qui améliorent les performances globales du moteur et l'une des plus notables est la Requêtes de plage améliorées, désormais 25 % plus rapides grâce à une stratégie plus efficace dans la gestion des champs numériques et des dates. Pour les cas à cardinalité élevée, des conseils d'exécution pour les agrégations ont été introduits, ce qui a entraîné une réduction de 75 % de la latence p90 dans les tests de référence par rapport aux versions précédentes.
En plus de cela, le séparation du trafic d'indexation et de recherche C'est l'une des fonctions clés des clusters avec stockage distant, car vous permet de mettre à l'échelle de manière indépendante, Isolez les défauts et optimisez les configurations en lecture seule à l’aide de la nouvelle API _scale. De plus, la prise en charge des structures d'arbre en étoile améliore les agrégations dans les scénarios à cardinalité élevée, permettant de réduire le travail de requête jusqu'à 100 fois.
Améliorations des types de recherche
Sur Recherche vectorielle, un nouveau paramètre d'explication a été ajouté pour Faiss, qui vous permet de décomposer les scores des requêtes k-NN, vous aidant à comprendre comment les résultats sont hiérarchisés. Ceci s'ajoute à une mise à jour de la fonction de notation BM25, qui utilise désormais BM25Similarity par défaut pour s'aligner sur les optimisations Apache Lucene actuelles. De plus, l’optimisation de la taille des segments a contribué à une réduction de 20 % des latences de queue.
Dans la recherche hybride, des techniques de normalisation statistique telles que la normalisation du score Z et de nouveaux seuils min-max ont été mises en œuvre, ce qui permet de générer des résultats plus cohérents et d'éviter l'amplification de scores non pertinents.
Parmi d’autres améliorations, OpenSearch 3.0 inclut :
- Le langage PPL a été étendu avec des commandes de jointure et de sous-requête, améliorant l'exploration des données grâce à la corrélation des enregistrements et au filtrage avancé.
- La nouvelle API Live Query permet une surveillance en temps réel, tandis que l'expérience d'observabilité est enrichie de flux optimisés pour la détection des anomalies, ce qui facilite leur déclenchement contextuellement à partir du tableau de bord principal.
- Le gestionnaire de sécurité Java traditionnel a été remplacé par un agent Java, qui intercepte les appels privilégiés et vérifie les autorisations plus efficacement. Cela améliore les performances du cluster et réduit la surcharge interne.
- Une nouvelle clé publique PGP a été ajoutée pour renforcer la vérification des artefacts à partir de la version 3.0.
- Lucene a été mis à jour vers la version 10, ce qui améliore le traitement parallèle et l'indexation de texte intégral.
- Prise en charge du système de modules de plate-forme Java, avec Java 21 comme version minimale requise, permettant la modularisation des composants du système.
- Prise en charge native du MCP, qui renforce l'intégration des agents IA dans les flux métier.
- Introduction du mode d'extraction directe de données à partir de flux tels qu'Apache Kafka et Amazon Kinesis, facilitant l'analyse en temps réel.
- Un agent de planification-exécution-réflexion, conçu pour s'attaquer à des tâches complexes par des étapes itératives, très utile dans les environnements autonomes ou les systèmes en libre-service.
- Activation par défaut du mode de parallélisation segment par segment pour les vecteurs k-NN, avec une augmentation jusqu'à 2.5x des performances des requêtes.
Enfin, si vous souhaitez en savoir plus vous pouvez vérifier les détails dans le lien suivant