FT.CREATE

FT.CREATE crée un index consultable.

Syntaxe

FT.CREATE index
  ON HASH
  [PREFIX count prefix [prefix ...]]
  SCHEMA field_name [AS alias] VECTOR [HNSW|FLAT] attribute_count [attribute_name attribute_value])
  • index (obligatoire): nom que vous attribuez à votre index. S'il existe déjà un index portant le même nom, une erreur est renvoyée.

  • ON HASH (facultatif): indique le type de données HASH. Seul le type de données HASH est accepté.

  • PREFIX [count] [prefix] (facultatif): indique les clés de hachage à indexer.

  • SCHEMA hash_field_name (obligatoire): hash_field_name après Schéma identifie le nom du champ dans le hachage. [AS alias] VECTOR attribue le nom VECTOR comme alias à l'attribut de nom de champ.

Types de champ

  • VECTOR (obligatoire) : champ vectoriel pour la recherche vectorielle.

    • [HNSW|FLAT] (obligatoire): algorithme désigné. FLAT (force brute) ou HNSW (Hierarchical Navigable Small World).

    • attribute_count (obligatoire): nombre total d'attributs des noms et des valeurs transmis dans la configuration de l'algorithme.

    • attribute_name attribute_value: paires clé/valeur qui définissent la configuration de l'index, mais qui sont spécifiques à l'un des deux algorithmes disponibles.

      • Attributs obligatoires de l'algorithme HNSW:

        • DIM (obligatoire): nombre de dimensions vectorielles. Les valeurs acceptées sont comprises entre 1 et 32768.

        • TYPE (obligatoire): type de vecteur. Seul FLOAT32 est accepté.

        • DISTANCE_METRIC (obligatoire) : doit correspondre à l'un des éléments suivants : L2, IP ou COSINE.

      • Attributs facultatifs de l'algorithme HNSW:

        • EF_RUNTIME (facultatif): définit le nombre de vecteurs à examiner lors d'une opération de requête. La valeur par défaut est 10, et la valeur maximale est 4096. Vous pouvez définir cette valeur de paramètre pour chaque requête que vous exécutez. Des valeurs plus élevées augmentent le temps de requête, mais améliorent le rappel des requêtes.

        • M (facultatif): nombre d'arêtes sortantes maximales autorisées pour chaque nœud du graphique dans chaque couche. Le nombre maximal d'arêtes sortantes est de 2 M pour la couche 0. La valeur par défaut est 16. Le nombre maximal est 512.

        • EF_CONSTRUCTION (facultatif): définit le nombre de vecteurs à examiner lors de la construction de l'index. La valeur par défaut est 200, et la valeur maximale est 4096. Des valeurs plus élevées augmentent le temps nécessaire à la création des index, mais améliorent le taux de rappel.

        • INITIAL_CAP (facultatif): détermine la capacité vectorielle de départ de l'index. La valeur par défaut est 1024. Ce paramètre détermine l'allocation de mémoire de l'index.

      • Attributs d'algorithme FLAT obligatoires:

        • DIM (obligatoire): nombre de dimensions vectorielles.

        • TYPE (obligatoire): type de vecteur. Seul FLOAT32 est accepté.

        • DISTANCE_METRIC (obligatoire) : doit correspondre à l'un des éléments suivants : L2, IP ou COSINE.

      • Attributs facultatifs de l'algorithme FLAT:

        • INITIAL_CAP (facultatif): détermine la capacité vectorielle de départ de l'index. Ce paramètre détermine l'allocation de mémoire de l'index.

Examples

Exemple de code HNSW:

FT.CREATE my_index_name SCHEMA my_hash_field_key VECTOR HNSW 10 TYPE FLOAT32 DIM 20 DISTANCE_METRIC COSINE M 4 EF_CONSTRUCTION 100

Exemple de FLAT:

FT.CREATE my_index_name SCHEMA my_hash_field_key VECTOR Flat 8 TYPE FLOAT32 DIM 20 DISTANCE_METRIC COSINE INITIAL_CAP 15000