Tipo Vector e Non Vector: suporte a criação de indices para otimização de buscas (FE)
Description
01 - OBJETIVO (solução proposta)
Permitir a criação de índices para atributos, cobrindo PostgreSQL (Baixa Latência) e BigQuery — incluindo índices vector e non-vector.
Contexto: O fluxo deve cobrir índices em dois ambientes:
-
PostgreSQL (Baixa Latência): índices vector e non-vector
-
BigQuery: índices vector
02 - DESCRIÇÃO DAS TELAS
PostgreSQL - Non Vector:
-
Modal exibe lista de atributos
-
Ao clicar em "Adicionar índice", exibe seleção de ambiente (Low Latency)
-
Usuário seleciona tipo de índice non-vector (B-tree, Hash, GIN, GiST, SP-GiST, BRIN)
-
Formulário exibe campos básicos (nome, colunas) sem parâmetros adicionais
-
Ao confirmar, exibe tela de sucesso
PostgreSQL - Vector:
-
Modal exibe lista de atributos do tipo vector
-
Ao clicar em "Adicionar índice", exibe mensagem orientando sobre índices + link para documentação
-
Usuário seleciona tipo de índice vector (IVFFlat ou HNSW)
-
Formulário exibe parâmetros obrigatórios conforme tipo selecionado:
-
IVFFlat: Distance type (dropdown), Num List (input numérico)
-
HNSW: Distance type (dropdown), M (input numérico), ef_construction (input numérico)
-
-
Ao confirmar, exibe tela de sucesso
BigQuery - Vector:
-
Modal exibe lista de atributos do tipo vector
-
Ao clicar em "Adicionar índice", exibe mensagem orientando sobre índices vetoriais + link para documentação
-
Usuário seleciona tipo de índice vector (TreeAH ou IVF)
-
Formulário exibe parâmetros obrigatórios conforme tipo selecionado:
-
TreeAH: Distance type (dropdown), Leaf_node_embedding_count (input numérico), Normalization type (dropdown)
-
IVF: Distance type (dropdown), Num List (input numérico)
-
-
Ao confirmar, exibe tela de sucesso
03 - ASSETS (links e arquivos relevantes)
-
Figma Data Model: [Link|https://www.figma.com/design/FiL1iRG6RPjuNCgVzgGqvaZ3/🟣-Carol-3.0?node-id=38862-25488]
-
Figma Data Model (2): [Link|https://www.figma.com/design/FiL1iRG6RPjuNCgVzgGqvaZ3/🟣-Carol-3.0?node-id=38895-10733]
-
Figma Staging: [Link|https://www.figma.com/design/FiL1iRG6RPjuNCgVzgGqvaZ3/🟣-Carol-3.0?node-id=37891-81411]
-
Doc BigQuery: [Link|https://docs.cloud.google.com/bigquery/docs/vector-index#choose-vector-index-type ]
-
Doc PostgreSQL: [Link|https://www.postgresql.org/docs/current/sql-createindex.html ]
04 - CRITÉRIOS DE ACEITE
Geral
-
Implementação cobrindo fluxo Staging Area e Data Model (conforme Figma)
-
Mensagem orientando criação de índices vetoriais implementada no BigQuery
-
Mensagem orientando criação de índices implementada no PostgreSQL (Baixa Latência)
-
Links para documentação adicionados de forma discreta em todas as UIs
BigQuery - TreeAH
-
Parâmetro "Distance type" implementado (Euclidean, Cosine, Dot Product)
-
Parâmetro "Leaf_node_embedding_count" implementado (Integer)
-
Parâmetro "Normalization type" implementado (L2, L1, None)
BigQuery - IVF
-
Parâmetro "Distance type" implementado (Euclidean, Cosine, Dot Product)
-
Parâmetro "Num List" implementado (Integer)
PostgreSQL - Índices Non Vector
-
B-tree implementado
-
Hash implementado
-
GIN implementado
-
GiST implementado
-
SP-GiST implementado
-
BRIN implementado
PostgreSQL - IVFFlat
-
Parâmetro "Distance type" implementado (L2 distance, Inner product, Cosine distance, Hamming distance)
-
Parâmetro "Num List" implementado (Integer)
-
Correção do spelling "VFFLAT" para "IVFFlat" aplicada
PostgreSQL - HNSW
-
Parâmetro "Distance type" implementado (L2, Inner product, Cosine, L1, Hamming, Jaccard)
-
Parâmetro "M" implementado (Integer, valores típicos: 16-64)
-
Parâmetro "ef_construction" implementado (Integer, valores típicos: 100-400)