FT.CREATE

FT.CREATE crea un índice que se puede buscar.

Sintaxis

FT.CREATE index
  ON HASH
  [PREFIX count prefix [prefix ...]]
  SCHEMA field_name [AS alias] VECTOR [HNSW|FLAT] attribute_count [attribute_name attribute_value])
  • index (obligatorio): Es el nombre que le asignas a tu índice. Si ya existe un índice con el mismo nombre, se muestra un error.

  • ON HASH (opcional): Indica el tipo de datos HASH. Solo se admite el tipo de datos HASH.

  • PREFIX [count] [prefix] (opcional): Indica qué claves hash se deben indexar.

  • SCHEMA hash_field_name (obligatorio): El hash_field_name después de SCHEMA identifica el nombre del campo en el hash. [AS alias] asigna el nombre alias como un alias para el atributo del nombre de campo.

Tipos de campo

  • VECTOR (obligatorio): Campo vectorial para la búsqueda vectorial:

    • [HNSW|FLAT] (obligatorio): Algoritmo designado. Ya sea FLAT (fuerza bruta) o HNSW (pequeño mundo navegable jerárquico).

    • attribute_count (obligatorio): Recuento total de atributos de nombres y valores que se pasaron en la configuración del algoritmo.

    • attribute_name attribute_value: Son pares clave-valor que definen la configuración de índices, pero que son específicos de uno de los dos algoritmos disponibles.

      • Atributos obligatorios del algoritmo HNSW:

        • DIM (obligatorio): Recuento de dimensiones vectoriales. Los valores aceptados son 1-32768.

        • TYPE (obligatorio): Es el tipo de vector. Solo se admite FLOAT32.

        • DISTANCE_METRIC (obligatorio): Debe ser uno de los siguientes: L2, IP o COSINE.

      • Atributos opcionales del algoritmo HNSW:

        • EF_RUNTIME (opcional): Establece el recuento de vectores que se examinarán durante una operación de consulta. El valor predeterminado es 10 y el máximo es 4096. Puedes establecer este valor del parámetro para cada consulta que ejecutes. Los valores más altos aumentan los tiempos de búsqueda, pero mejoran la recuperación de la consulta.

        • M (opcional): Es el recuento de bordes salientes máximos permitidos para cada nodo en el gráfico en cada capa. La cantidad máxima de aristas salientes es 2 M para la capa 0. El valor predeterminado es 16. La cantidad máxima es 512.

        • EF_CONSTRUCTION (opcional): Establece la cantidad de vectores que se examinarán durante la construcción del índice. El valor predeterminado es 200 y el máximo es 4096. Los valores más altos aumentan el tiempo necesario para crear índices, pero mejoran la proporción de recuperación.

        • INITIAL_CAP (opcional): Determina la capacidad del vector inicial del índice. El valor predeterminado es 1024. Este parámetro determina la asignación de memoria de índice.

      • Atributos obligatorios del algoritmo FLAT:

        • DIM (obligatorio): Recuento de dimensiones vectoriales.

        • TYPE (obligatorio): Es el tipo de vector. Solo se admite FLOAT32.

        • DISTANCE_METRIC (obligatorio): Debe ser uno de los siguientes: L2, IP o COSINE.

      • Atributos opcionales del algoritmo FLAT:

        • INITIAL_CAP (opcional): Determina la capacidad del vector inicial del índice. Este parámetro determina la asignación de memoria de índice.

Ejemplos

Ejemplo de 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

Ejemplo de anuncios FLAT:

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