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 un índice con el mismo ya existe, se muestra un error.

  • ON HASH (opcional): Indica el tipo de datos HASH. Solo el tipo de datos HASH no es compatible.

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

  • SCHEMA hash_field_name (obligatorio): hash_field_name después de SCHEMA identifica el nombre del campo en el hash. [AS alias] asigna el nombre alias como alias para el atributo nombre del 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 (mundo pequeño navegable jerárquico).

    • attribute_count (obligatorio): Es el recuento total de atributos de nombres y valores que se pasan en la configuración del algoritmo.

    • attribute_name attribute_value: Pares clave-valor que definen la configuración de índices, pero son específicas de uno de los dos disponibles con algoritmos criptográficos eficaces.

      • Atributos obligatorios del algoritmo HNSW:

        • DIM (obligatorio): Es el recuento de dimensiones del vector. 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 consulta, pero mejoran la recuperación de consultas.

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

        • EF_CONSTRUCTION (opcional): Establece el recuento 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 del índice.

      • Atributos obligatorios del algoritmo FLAT:

        • DIM (obligatorio): Es el recuento de dimensiones del vector.

        • 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