FT.CREATE

FT.CREATE cria um índice pesquis��vel.

Sintaxe

FT.CREATE index
  ON HASH
  [PREFIX count prefix [prefix ...]]
  SCHEMA field_name [AS alias] VECTOR [HNSW|FLAT] attribute_count [attribute_name attribute_value])
  • index (obrigatório): é o nome que você atribui ao índice. Se um índice com o mesmo nome já existir, será retornado um erro.

  • ON HASH (opcional): indica o tipo de dados HASH. Somente o tipo de dados HASH é aceito.

  • PREFIX [count] [prefix] (opcional): indica quais chaves de hash são indexadas.

  • SCHEMA hash_field_name (obrigatório): o hash_field_name após SCHEMA identifica o nome do campo no hash. [AS alias] atribui o nome alias como um alias para o atributo de nome de campo.

Tipos de campos

  • VECTOR (obrigatório): campo vetorial para pesquisa de vetores:

    • [HNSW|FLAT] (obrigatório): algoritmo designado. FLAT (força bruta) ou HNSW (Hierarchical Navigable Small World)

    • attribute_count (obrigatório): contagem total do atributo de nomes e valores transmitidos na configuração do algoritmo.

    • attribute_name attribute_value: pares de chave-valor que definem a configuração de índice, mas são específicos de um dos dois algoritmos disponíveis.

      • Atributos obrigatórios do algoritmo HNSW:

        • DIM (obrigatório): é a contagem de dimensões vetoriais. Os valores aceitos são de 1 a 32768.

        • TYPE (obrigatório): o tipo de vetor. Só há suporte para FLOAT32.

        • DISTANCE_METRIC (obrigatório): precisa ser um destes valores: L2, IP ou COSINE.

      • Atributos opcionais do algoritmo HNSW:

        • EF_RUNTIME (opcional): define a contagem de vetores a serem examinados durante uma operação de consulta. O padrão é 10, e o máximo é 4096. É possível definir esse valor de parâmetro para cada consulta executada. Valores mais altos aumentam o tempo das consultas, mas melhoram o recall da consulta.

        • M (opcional): a contagem das arestas de saída máximas permitidas para cada nó no gráfico em cada camada. O número máximo de bordas de saída é 2 milhões para a camada 0. O padrão é 16. O máximo é 512.

        • EF_CONSTRUCTION (opcional): define a contagem de vetores a serem examinados durante a criação do índice. O padrão é 200, e o máximo é 4096. Valores mais altos aumentam o tempo necessário para criar índices, mas melhoram a taxa de recall.

        • INITIAL_CAP (opcional): determina a capacidade vetorial inicial do índice. O padrão é 1024. Esse parâmetro determina a alocação de memória do índice.

      • Atributos obrigatórios do algoritmo FLAT:

        • DIM (obrigatório): é a contagem de dimensões vetoriais.

        • TYPE (obrigatório): o tipo de vetor. Só há suporte para FLOAT32.

        • DISTANCE_METRIC (obrigatório): precisa ser um destes valores: L2, IP ou COSINE.

      • Atributos opcionais do algoritmo FLAT:

        • INITIAL_CAP (opcional): determina a capacidade vetorial inicial do índice. Esse parâmetro determina a alocação de memória do índice.

Examples

Exemplo 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

Exemplo 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