Retour à l'accueil

Manticore Search 25.0 : recherche hybride et KNN

Manticore Search 25.0.0 introduit la recherche hybride combinant MATCH et KNN, filtrage vectoriel préliminaire et compaction parallèle des tables RT. Installation simplifiée, instructions préparées et sauvegardes S3 ajoutées. La version inclut 36 corrections pour la stabilité.

Nouvelles fonctionnalités dans Manticore 25 : de la recherche hybride à S3
Advertisement 728x90

# Manticore Search 25.0.0 : Principales mises à jour pour la recherche hybride et les tables RT

Manticore Search 25.0.0 introduit la recherche hybride complète, combinant des requêtes en texte intégral et vectorielles en une seule invocation. La distribution des paquets a été simplifiée, un pré-filtrage KNN ajouté, un service parallèle pour les tables RT, la prise en charge des instructions préparées, et des sauvegardes vers un stockage compatible S3. Ces changements optimisent le déploiement et l'exploitation des systèmes de recherche dans des scénarios à forte charge.

Exigences de mise à niveau

Avant la mise à niveau, notez ces incompatibilités :

  • MCL 13.0.0 est requis, avec les nouveaux paramètres API_URL et API_TIMEOUT pour les embeddings.
  • Mettez à niveau les clusters de réplication de manière cohérente en raison des changements dans le protocole de réplication depuis la version 24.0.0.
  • Les changements dans la tokenisation des bigrammes (depuis 23.0.0) rendent les index incompatibles avec les versions legacy.
  • Les changements de pré-filtrage KNN modifient l'ordre des résultats : les voisins correspondant au filtre ont désormais la priorité lors de la recherche.

Distribution des paquets simplifiée

Le paquet manticore est désormais monolithique pour deb/rpm : il inclut le démon, les outils, le convertisseur, les données ICU, Jieba et les packs de langues (de, en, ru). Pour la mise à niveau : supprimez les anciens paquets manticore* et installez le nouveau — les données sont préservées. Dans les systèmes basés sur yum, la configuration est sauvegardée automatiquement. Cela élimine les conflits de dépendances et simplifie les processus DevOps.

Google AdInline article slot

Recherche hybride

La recherche hybride combine MATCH() et KNN() en SQL ou JSON. Exemple de requête SQL :

SELECT * FROM table
WHERE MATCH('query') 
  AND KNN('vector_column', query_embedding, 10) > 0.8;

Parfait pour la recherche sémantique avec précision lexicale : catégories de produits, multiteneur, filtres RBAC. Elle réduit la latence grâce à une seule requête.

Pré-filtrage KNN

Les filtres d'attributs sont appliqués pendant la recherche vectorielle, et non après. Pour des requêtes comme « voisins vectoriels les plus proches + catégorie=électronique », la pertinence s'améliore car les candidats non pertinents sont filtrés tôt. Idéal pour l'e-commerce, les recommandations et la recherche d'entreprise avec ACL.

Google AdInline article slot

Optimisation des tables RT

Les fusions de chunks N-aires parallèles accélèrent OPTIMIZE sous des charges d'écriture élevées. Au lieu d'une fusion séquentielle, des tâches concurrentes réduisent les temps d'arrêt de compaction. Les tables RT peuvent désormais gérer un trafic d'insertions élevé sans dégrader les performances des requêtes.

Instructions préparées

Prise en charge des instructions préparées compatibles MySQL via prepare/execute dans le protocole binaire. Fonctionne parfaitement avec les pools de connexions, les ORMs (SQLAlchemy, Hibernate) et les frameworks. Simplifie la migration depuis MySQL/PostgreSQL sans refactorisation du code client.

PREPARE stmt FROM 'SELECT * FROM idx WHERE MATCH(?)';
EXECUTE stmt USING 'search query';
DEALLOCATE PREPARE stmt;

Sauvegardes S3

Backup/restore prend désormais en charge AWS S3, MinIO, Wasabi et Cloudflare R2. Parfait pour les environnements Kubernetes/Docker où les disques locaux sont éphémères mais le stockage objet est persistant. Commande : backup --storage s3://bucket/path.

Google AdInline article slot

Embeddings automatiques

MCL 13.0.0 ajoute API_URL et API_TIMEOUT. Prend en charge GGUF (quantifié), T5-encoder, HF avec limitation de débit, et réplication d'embeddings dans les tables RT. Permet la génération d'embeddings à la volée pour des pipelines locaux ou cloud sans services externes.

Corrections de bugs

Cette version inclut 36 corrections :

  • Pas de déclenchements faux de MATCH pendant les timeouts max_query_time.
  • La réplication ne perd plus de lignes sur des ID de documents dupliqués.
  • Stabilité améliorée pour les auto-embeddings : gestion UTF-8, verrous RT.
  • LEFT JOIN renvoie désormais le vrai NULL MySQL (et non la chaîne 'NULL').
  • Condition de course dans la sauvegarde des chunks RT corrigée.
  • Recherche floue fonctionne correctement dans les requêtes multi-tables.

Points importants :

  • La recherche hybride réduit la complexité du code de 30–50 % pour les applications sémantiques.
  • Le pré-filtrage KNN améliore la précision dans les charges filtrées.
  • Le paquet monolithique rationalise les pipelines CI/CD.
  • Les sauvegardes S3 offrent un RPO/RTO <1 h dans le cloud.
  • Les instructions préparées accélèrent l'intégration avec l'écosystème MySQL.

Journal des modifications détaillé disponible dans le dépôt. La version 25.0.0 rend Manticore prêt pour la production en recherche hybride à grande échelle.

— Editorial Team

Advertisement 728x90

Lire ensuite