PÉS. SEARCH - Amazon MemoryDB

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

PÉS. SEARCH

Usa a expressão de consulta fornecida para localizar chaves em um índice. Uma vez localizados, a contagem e/ou o conteúdo dos campos indexados dentro dessas chaves podem ser retornados. Para obter mais informações, consulte Expressão de consulta de pesquisa vetorial.

Para criar dados para uso nesses exemplos, consulte o FT. CREATEcomando.

Sintaxe

FT.SEARCH <index-name> <query> [RETURN <token_count> (<field-identifier> [AS <alias>])+] [TIMEOUT timeout] [PARAMS <count> <name> <value> [<name> <value>]] [LIMIT <offset> <count>] [COUNT]
  • RETURN: essa cláusula identifica quais campos de uma chave são retornados. A cláusula AS opcional em cada campo substitui o nome do campo no resultado. Somente campos que foram declarados para esse índice podem ser especificados.

  • LIMIT: <offset><count>: Essa cláusula fornece capacidade de paginação, pois somente as chaves que satisfazem os valores de deslocamento e contagem são retornadas. Se essa cláusula for omitida, o padrão será "LIMIT0 10", ou seja, somente um máximo de 10 chaves serão retornadas.

  • PARAMS: duas vezes o número de pares de valores-chave. Pares de chave/valor do parâmetro podem ser referenciados de dentro da expressão de consulta. Para obter mais informações, consulte Expressão de consulta de pesquisa vetorial.

  • COUNT: Essa cláusula suprime o retorno do conteúdo das chaves, somente o número de chaves é retornado. Esse é um alias para "LIMIT0 0".

Return

Retorna uma matriz ou a resposta de erro.

  • Se a operação for concluída com êxito, retornará uma matriz. O primeiro elemento é o número total de chaves correspondentes à consulta. Os elementos restantes são pares de nome de chave e lista de campos. A lista de campos é outra matriz que compreende pares de nomes e valores de campo.

  • Se o índice estiver em andamento para preenchimento, o comando retornará imediatamente uma resposta de erro.

  • Se o tempo limite for atingido, o comando retornará uma resposta de erro.

Exemplo: faça algumas pesquisas

nota

O exemplo a seguir usa argumentos nativos de valkey-cli, como remoção de cotações e remoção de escape de dados, antes de enviá-los para Valkey ou Redis. OSS Para usar outros clientes de linguagem de programação (Python, Ruby, C# etc.), siga as regras de manipulação desses ambientes para lidar com strings e dados binários. Para obter mais informações sobre clientes compatíveis, consulte Ferramentas para desenvolver AWS

Uma pesquisa de hash

FT.SEARCH hash_idx1 "*=>[KNN 2 @VEC $query_vec]" PARAMS 2 query_vec "\x00\x00\x00\x00\x00\x00\x00\x00" DIALECT 2 1) (integer) 2 2) "hash:0" 3) 1) "__VEC_score" 2) "0" 3) "vec" 4) "\x00\x00\x00\x00\x00\x00\x00\x00" 4) "hash:1" 5) 1) "__VEC_score" 2) "1" 3) "vec" 4) "\x00\x00\x00\x00\x00\x00\x80\xbf"

Isso produz dois resultados, classificados por sua pontuação, que é a distância do vetor de consulta (inserido como hexadecimal).

JSONpesquisas

FT.SEARCH json_idx1 "*=>[KNN 2 @VEC $query_vec]" PARAMS 2 query_vec "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" DIALECT 2 1) (integer) 2 2) "json:2" 3) 1) "__VEC_score" 2) "11.11" 3) "$" 4) "[{\"vec\":[1.1, 1.2, 1.3, 1.4, 1.5, 1.6]}]" 4) "json:0" 5) 1) "__VEC_score" 2) "91" 3) "$" 4) "[{\"vec\":[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]}]"

Isso produz os dois resultados mais próximos, classificados por sua pontuação, e observe que os valores JSON vetoriais são convertidos em flutuantes e o vetor de consulta ainda é um dado vetorial. Observe também que, como o parâmetro KNN é 2, há apenas dois resultados. Um valor maior retornará mais resultados:

FT.SEARCH json_idx1 "*=>[KNN 100 @VEC $query_vec]" PARAMS 2 query_vec "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" DIALECT 2 1) (integer) 3 2) "json:2" 3) 1) "__VEC_score" 2) "11.11" 3) "$" 4) "[{\"vec\":[1.1, 1.2, 1.3, 1.4, 1.5, 1.6]}]" 4) "json:0" 5) 1) "__VEC_score" 2) "91" 3) "$" 4) "[{\"vec\":[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]}]" 6) "json:1" 7) 1) "__VEC_score" 2) "9100" 3) "$" 4) "[{\"vec\":[10.0, 20.0, 30.0, 40.0, 50.0, 60.0]}]"