Sintaxe das consultas

As consultas vetoriais funcionam pesquisando um banco de dados de vetores para encontrar vetores que que melhor correspondem ao seu vetor de consulta. Esta página mostra detalhes sobre como isso funciona.

Encontrar vetores semelhantes

As consultas de pesquisa vetorial usam duas estratégias:

  • K-Nearest Neighbors (KNN): localiza os k vetores mais próximos do vetor de consulta.

Detalhamento da sintaxe da consulta

FT.SEARCH index "(*)=>[KNN num_neighbours @my_vector_hash_key $my_vector_query_param]" PARAMS 2 my_vector_query_param "query_embedding" DIALECT 2
  • index: o nome do índice que contém o campo vetorial.

  • (*): essa é a única expressão compatível. A filtragem não é compatível.

  • =>: separa o filtro da pesquisa vetorial.

  • [KNN num_neighbours @field $vector]: a expressão de pesquisa KNN. Substitua num_neighbors pelo número de resultados escolhido e @field pelo nome do campo de vetor.

  • PARAMS 2 my_vector_query_param "query_embedding":

    • O valor 2 após PARAMS indica que dois argumentos adicionais precisam ser fornecidos.
    • my_vector_query_param é o nome do vetor do parâmetro de consulta, conforme especificado na expressão de pesquisa da KNN.
    • Substitua query_embedding pelo vetor de consulta incorporado.
  • DIALECT 2: especifica que você está usando o dialeto de consulta versão 2 ou mais recente (necessário para a pesquisa vetorial).