Tous les produits
Search
Centre de documentation

OpenSearch:What is OpenSearch Vector Search Edition?

Dernière mise à jour :Aug 10, 2026

OpenSearch Vector Search Edition est un moteur de recherche distribué à grande échelle développé par Alibaba Group. Conçu en C++ et déployé en production sur les plateformes centrales d'Alibaba — notamment Taobao, Tmall, Cainiao, Youku et d'autres plateformes e-commerce destinées aux clients hors de Chine continentale — il offre une recherche vectorielle haute disponibilité avec des mises à jour de données en temps réel et une exploitation et maintenance (O&M) automatisée. Il constitue également le moteur de base d'Alibaba Cloud OpenSearch.

Architecture

OpenSearch Vector Search Edition se compose de trois composants principaux : un système de recherche en ligne, des sources de données et un système de gestion.

  • Système de recherche en ligne — charge les index et traite les requêtes de recherche vectorielle. En interne, il s'appuie sur une architecture distribuée composée de nœuds Query Result Searcher (QRS) et de nœuds Searcher.

  • Sources de données — importent l'intégralité des données via une réindexation et synchronisent les données incrémentielles en temps réel.

  • Système de gestion — plateforme d'O&M dédiée à la création et à la gestion des clusters, réduisant ainsi la charge opérationnelle.

Système de recherche en ligne

Le système de recherche en ligne fonctionne au niveau de la table. Chaque table vectorielle est interrogée indépendamment via API. Vous pouvez configurer séparément les champs, les index vectoriels, la source de données ainsi que la concurrence des données en temps réel pour chaque table.

Les nœuds QRS constituent le point d'entrée de chaque requête. Ils analysent, vérifient et réécrivent les requêtes entrantes, les distribuent aux nœuds Searcher, puis collectent et fusionnent les résultats avant de les renvoyer à l'appelant. Les nœuds QRS sont sans état : ils ne conservent aucune donnée utilisateur, ce qui maintient une faible consommation mémoire. Toutefois, l'utilisation de la mémoire augmente lorsque le nombre de documents renvoyés ou le nombre d'entrées statistiques générées est élevé. Si la capacité des nœuds QRS devient un goulot d'étranglement, ajoutez-en davantage ou augmentez leurs spécifications.

Les nœuds Searcher chargent les données d'index et gèrent la récupération, le filtrage et le classement des documents. Les index sont fragmentés : les valeurs de hachage sont réparties dans la plage [0, 65535], et le nombre de fragments est défini lors de la création de l'index. Les nœuds Searcher partagent les ressources CPU, mémoire et disque entre les tables.

Deux stratégies de fragmentation sont disponibles :

Stratégie Description Cas d'utilisation
Table fragmentée Répartit les données uniformément sur plusieurs fragments selon les valeurs de hachage Jeux de données volumineux ou exigences élevées en matière de performances par requête unique
Table broadcast Réplique l'intégralité du jeu de données sur chaque nœud Searcher Tables nécessitant un accès complet au jeu de données pour tous les nœuds Searcher

Pour augmenter le nombre de requêtes par seconde (QPS) — par exemple, passer de 1 000 à 10 000 — ajoutez des réplicas. Les valeurs de hachage des fragments sur l'ensemble des nœuds Searcher doivent couvrir la plage complète [0, 65535].

Sources de données

Une source de données correspond à une seule table. OpenSearch Vector Search Edition prend en charge les types de sources de données suivants :

Source de données Notes
MaxCompute —
Search —
SARO (Search, Advertisement, and Recommendation Offline) —
API Les données brutes sont vides par défaut ; poussez toutes les données vers la table via des appels API

Synchronisation des données

L'indexation complète reconstruit un index à partir d'une copie intégrale des données brutes. Chaque exécution de réindexation crée une nouvelle version d'index, et plusieurs versions coexistent : si une modification de schéma ou une mise à jour introduit des erreurs, revenez à une version précédente. Le pipeline d'indexation complète s'exécute en trois étapes — traitement des données, construction de l'index et fusion de l'index — chacune disposant d'une concurrence configurable pour accélérer la construction.

L'indexation incrémentielle démarre après la construction de l'index complet et s'exécute en continu. Les nœuds de mise à jour des données consomment les données incrémentielles provenant de MaxCompute, Object Storage Service (OSS) ou des sources API, et les nœuds Searcher construisent les index résultants en temps réel. Les mises à jour prennent effet en quelques secondes. Ajustez le nombre de nœuds de mise à jour des données pour contrôler le débit de traitement en temps réel.

Quand utiliser OpenSearch Vector Search Edition

Scénario Pourquoi cette solution convient
Applications de recherche critiques exigeant une stabilité élevée Fondation en C++, plus de 10 ans d'utilisation en production sur les plateformes d'Alibaba
Requêtes sensibles au temps où les mises à jour doivent apparaître en quelques secondes Indexation incrémentielle en temps réel avec une latence de l'ordre de la seconde
Jeux de données à grande échelle dépassant la capacité d'un nœud unique Fragmentation distribuée sur les nœuds Searcher
Charges de travail sensibles aux coûts Plusieurs politiques de compression d'index et stratégies de chargement d'index multivalues réduisent l'utilisation des ressources

Concepts clés

Terme Définition
Table vectorielle Unité principale d'organisation des données ; chaque table est interrogée et gérée indépendamment
Nœuds QRS Nœuds d'entrée sans état qui acheminent, analysent et fusionnent les requêtes de recherche
Nœuds Searcher Nœuds contenant les index qui récupèrent, filtrent et classent les documents
Fragment Partition d'un index ; les valeurs de hachage se situent dans la plage [0, 65535]
Table broadcast Table répliquée intégralement sur chaque nœud Searcher
Nœud de mise à jour des données Nœud qui consomme les données incrémentielles et alimente les nœuds Searcher pour l'indexation en temps réel
Indexation complète Reconstruction ponctuelle d'un index à partir d'un instantané complet des données
Indexation incrémentielle Processus continu appliquant les mises à jour à un index actif après la fin de l'indexation complète
O&M Opérations et maintenance ; gérées par le système de gestion de la plateforme