Résoudre les problèmes liés à la recherche vectorielle Spanner

Cette page décrit les conseils qui peuvent vous aider si vous rencontrez des problèmes lors de l'utilisation de la recherche vectorielle Spanner.

Échec de la requête avec une erreur "no vector index found" (aucun index vectoriel trouvé)

Ce problème se produit lorsqu'une requête que vous vous attendez à utiliser un index vectoriel s'exécute, mais que l'optimiseur de requête ne trouve pas d'index approprié.

Pour résoudre ce problème, vérifiez les causes courantes suivantes :

  • Incompatibilité du type de distance : vérifiez que le type de distance défini sur l' index correspond à celui utilisé dans la requête.
  • Remplissage de l'index : vérifiez que le processus de remplissage de l'index est terminé. Les index vectoriels ne sont pas disponibles pour les requêtes tant que le remplissage n'est pas terminé. Pour en savoir plus, consultez Gérer et observer les opérations de longue durée.
  • Filtre IS NOT NULL manquant : assurez-vous que votre requête inclut un IS NOT NULL filtre sur la colonne d'embedding. Ce filtre doit correspondre à celui de la définition de l'index vectoriel pour que l'optimiseur de requête prenne en compte l'index.

Échec d'une requête avec une erreur "unsupported use of an approximate distance function" (utilisation non compatible d'une fonction de distance approximative)

Tous les modèles de requête ne sont pas compatibles avec la recherche ANN. Consultez la documentation sur la fonction de distance approximative pour obtenir des informations détaillées sur l'utilisation et les limites :

Vérifier qu'une requête utilise un index vectoriel

Vous pouvez vérifier qu'une requête utilise un index vectoriel en consultant le plan d'exécution de la requête.

Dans le plan d'exécution de la requête, recherchez les nœuds Scan qui font référence à votre index vectoriel.

Étape suivante