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áusulaON
da instruçãoCREATE SEARCH INDEX
não é importante.
A seguir
- Saiba mais sobre índices de pesquisa.
- Saiba mais sobre índices secundários.