Índices de pesquisa e secundários

Esta página descreve os recursos para pesquisa e índices secundários.

Ao decidir entre índices de pesquisa e secundários, lembre-se de que os índices de pesquisa devem ser a escolha padrão para casos de uso de texto completo e os índices secundários devem ser a opção padrão para tudo o mais. A tabela a seguir descreve quando usar cada tipo de índice.

Recurso Índice secundário Índice da Pesquisa
Ordem de classificação O índice é classificado por todas as colunas de chave de índice O índice de pesquisa só pode ser classificado por no máximo duas colunas INT64 controladas pelo usuário.
Matrizes Matrizes não são aceitas como chaves de índices secundários. Índices de pesquisa oferecem suporte à indexação de matriz. Todos os tokens de um documento são colocados na mesma divisão. Como resultado, as transações que mudam uma linha só gravam em uma divisão de índice.
Pesquisas A pesquisa por chave de índice só precisa acessar uma divisão As consultas que usam o índice de pesquisa geralmente precisam ler de todas as divisões de uma determinada partição. A única exceção é a correspondência de padrões top-k.
Indexação de várias colunas Os índices secundários podem incluir várias colunas de chave. As consultas precisam procurar dados por prefixo de colunas de chave de índice para uma execução eficiente. Os índices de pesquisa podem indexar várias colunas. As consultas podem especificar expressões lógicas complexas (conjunções, disjunções, negações) em qualquer subconjunto das colunas indexadas e ainda assim serem executadas com eficiência
Interseção do índice Os usuários podem reescrever a consulta para unir vários índices secundários. A interseção de várias colunas indexadas é implementada como uma junção local eficiente em ziguezague, seguida por uma união de mesclagem distribuída (que combina os resultados de todas as divisões relevantes).
Como ler dados API de leitura ou consulta SQL Consulta SQL

Além da semântica, a sintaxe da instrução DDL para criar um índice de pesquisa é diferente da sintaxe DDL para criar um índice secundário:

  • As colunas indexadas são definidas separadamente da ordem de classificação no índice de pesquisa.
  • A ordem das colunas TOKENLIST na cláusula ON da instrução CREATE SEARCH INDEX não é importante.

A seguir