Elasticsearch 9.0 et 8.18 : conçus pour les développeurs, avec une vitesse d’exécution fulgurante, 5 fois plus rapide qu’OpenSearch

Nous sommes fiers de publier les versions 9.0 et 8.18 d’Elasticsearch pour les utilisateurs d’Elastic Cloud autogérés. Les fonctionnalités de ces versions sont déjà disponibles pour nos utilisateurs Elastic Cloud Serverless, qui ont eu accès à la version généralement disponible d’Elasticsearch entièrement géré sur AWS, Azure et GCP.

Une quantification binaire améliorée (BBQ) encore plus rapide (5 fois plus rapide qu’OpenSearch)

BBQ (Better Binary Quantization), introduit pour la première fois en 8,16 comme aperçu technique, est désormais disponible pour tous, offrant une alternative haute performance aux techniques traditionnelles de quantification comme la quantification produit (PQ). 

Nos clients, comme Roboflow, stockent et mettent à jour des quantités de plus en plus importantes (c’est-à-dire des milliards) de données vectorielles, et par le passé auraient dû envisager d’utiliser quelque chose comme PQ pour assurer la maintenance de leur pertinence et de leurs performances tout en utilisant plus efficacement leur matériel existant. Maintenant, ils ont accès à BBQ. 

BBQ dispose désormais d’un algorithme mis à jour offrant jusqu’à 20 % de rappel plus élevé et un débit de 8 à 30 fois plus rapide avec SIMD pour une recherche efficace et précise. Elastic est le premier fournisseur de base vectorielle à mettre en œuvre cette approche, permettant aux charges de travail de recherche réelles d’obtenir des résultats plus rapides tout en réduisant les ressources informatiques. 

Dans le cadre de notre mission, qui consiste à faire d’Apache Lucene la meilleure base vectorielle, et en tant que champions de la diffusion de ces innovations auprès de la communauté, nous avons récemment fusionné ces fonctionnalités avec Lucene. 

Comparé à OpenSearch FAISS, Elasticsearch BBQ offre jusqu’à 5 fois plus de requêtes rapides et un débit 3,9 fois supérieur à tous les niveaux de rappel, tout en maintenant la même précision. Conçu pour la rapidité et l’efficacité, le BBQ réduit considérablement la latence, ce qui le rend idéal pour les charges de production à grande échelle.

Le réordonnancement vectoriel quantifié bénéficie désormais d’une API simplifiée, améliorant ainsi l’expérience des développeurs. BBQ effectue une analyse complète de l’index à l’aide d’un petit vecteur de prédicteurs, suréchantillonne les résultats, puis les réordonne à l’aide du vecteur plus large. Grâce à la nouvelle API, il suffit de définir le taux de suréchantillonnage, et Elasticsearch se charge du réordonnancement.

Avec cette version, les modèles d’interaction multi-étapes tels que ColPali et ColBERT sont également pris en charge avec MaxSim !

Recherche sémantique et reclassement sémantique prête à l’emploi

Cette version offre aux développeurs un accès immédiat à ELSER, notre modèle vectoriel clairsemé, et e5, un modèle vectoriel dense multilingue optimisé pour la recherche sémantique. Le réordonnancement sémantique est également disponible grâce à notre modèleElastic Rerank, particulièrement avantageux pour ceux qui souhaitent améliorer la pertinence de leurs résultats sans modifier la structure de leurs données stockées. 

Intégrer vos propres modèles à ceux d’Elastic ne devrait pas poser de problème. Grâce à notre API d’inférence ouverte, il est facile d’utiliser la nouvelle intégration pour exploiter les embeddings et les fonctionnalités de réordonnancement de JinaAI, ou le réordonnancement sémantique de Watsonx.ai. 

Par exemple, la recherche sémantique commence par un seul mapping semantic_text :

PUT my-data
{ 
  	"mappings": {
"properties": {
"my_semantic_field": {
"type": "semantic_text" }}}}

En ne spécifiant pas d’endpoint d’inférence, vous exploitez notre modèle sémantique par défaut : ELSER. 

Si vous souhaitez utiliser le dernier modèle d’intégration de Jina AI, jina-embeddings-v3, il suffit de spécifier l’endpoint d’inférence à utiliser avec semantic_text à la place. Pour votre commodité, si vous souhaitez essayer cela vous-même, consultez ce guide de Jupyter pour l’essayer dès aujourd’hui !

PUT my-data-with-jina
{ "mappings": {
    "properties": {
      "my_semantic_field": {
        "type": "semantic_text",
        "inference_id": "my-jinaai-endpoint" }}}}

Maintenant, veuillez effectuer votre première recherche sémantique en langage naturel, lisible par un humain. 

POST my-data/_search
{ "query": {
        "match": {
"my_semantic_field": "Which vector database was the first in the industry to introduce BBQ and contribute it to the   open source community?"
        }
    },
    "highlight": {
        "fields": {
            "my_semantic_field": {
                "number_of_fragments": 2,  
                "order": "score"        }}}}

Ou, si vous préférez ES|QL, essayez : 

POST _query?format=txt
{
  "query": """
    FROM my-data
    | WHERE my_semantic_field:"Which vector database has BBQ?"
    | KEEP my_semantic_field
    """
}

La réponse à ces questions est bien sûr : Elasticsearch. Le choix entre notre modèle par défaut et votre modèle préféré se fait en une seule définition d’endpoint d’inférence.

Et ce n’est pas tout !

Dans cette version, les adeptes de la recherche hybride seront ravis d’apprendre que les récupérateurs — l’abstraction pour développeurs que nous avons ajoutée dans les versions précédentes au DSL de requêtes pour une meilleure composabilité et une plus grande facilité d’utilisation — peuvent désormais intégrer facilement le rescoring linéaire et générique dans les récupérateurs, ainsi que la fusion de rangs réciproques (RRF), une excellente technique par défaut pour normaliser les scores entre différentes combinaisons de types de recherche.

Nous continuons d’ajouter de nouvelles commandes intéressantes au langage de requête Elasticsearch (ES|QL), mais il en existe une nouvelle qui n’était pas disponible dans le DSL de requêtes. Découvrons
ensemble une nouvelle façon d’interroger les données grâce à la puissance d’Elasticsearch :

// join employees with their department name
FROM employees
| LOOKUP JOIN departments ON dep_id
| KEEP last_name, first_name, dep_name

Pour en savoir plus, consultez le ES|QL JOIN blog !

Lancez-vous

Découvrez ces fonctionnalités et bien d’autresdans les notes de publication.

Les clients existants d’Elastic Cloud peuvent accéder directement à nombre de ces fonctionnalités depuis la console Elastic Cloud.Vous ne profitez pas d’Elastic sur le cloud ? Commencez un essai gratuit.

Voulez-vous commencer rapidement sur votre ordinateur portable ? Exécutez curl -fsSL https://elastic.co/start-local | sh et démarrez en quelques minutes. 

Vous pouvez également télécharger la Elastic Stack et nos produits d’orchestration du cloud, ECE et Elastic Cloud for Kubernetes, pour une expérience autogérée.

La publication et la date de publication de toute fonctionnalité ou fonction décrite dans le présent article restent à la seule discrétion d'Elastic. Toute fonctionnalité ou fonction qui n'est actuellement pas disponible peut ne pas être livrée à temps ou ne pas être livrée du tout.

Dans cet article, nous sommes susceptibles d'avoir utilisé ou mentionné des outils d'IA générative tiers appartenant à leurs propriétaires respectifs qui en assurent le fonctionnement. Elastic n'a aucun contrôle sur les outils tiers et n'est en aucun cas responsable de leur contenu, de leur fonctionnement, de leur utilisation, ni de toute perte ou de tout dommage susceptible de survenir à cause de l'utilisation de tels outils. Veuillez faire preuve de prudence lorsque vous utilisez des outils d'IA avec des informations personnelles, sensibles ou confidentielles. Toute donnée que vous soumettez peut être utilisée pour entrainer l'IA ou à d'autres fins. Vous n'avez aucune garantie que la sécurisation ou la confidentialité des informations renseignées sera assurée. Vous devriez vous familiariser avec les pratiques en matière de protection des données personnelles et les conditions d'utilisation de tout outil d'intelligence artificielle générative avant de l'utiliser. 

Elastic, Elasticsearch, ESRE, Elasticsearch Relevance Engine et les marques associées sont des marques commerciales, des logos ou des marques déposées d'Elasticsearch N.V. aux États-Unis et dans d'autres pays. Tous les autres noms de produits et d'entreprises sont des marques commerciales, des logos ou des marques déposées appartenant à leurs propriétaires respectifs.