

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á.

# Recursos e limites de pesquisa
<a name="search-features-limits"></a>

## Pesquisar disponibilidade
<a name="search-availability"></a>

ElastiCache A versão 9.0 e superior do Valkey fornece suporte para cargas de trabalho puras não vetoriais, vetoriais e híbridas, incluindo pesquisas numéricas, de tags (correspondência exata) Full-text, vetoriais e agregações em clusters baseados em nós em todas as regiões, sem custo adicional. AWS 

ElastiCache A versão 8.2 do Valkey fornece suporte para pesquisa vetorial em clusters baseados em nós em todas as AWS regiões sem custo adicional.

Você também pode usar a pesquisa em seus clusters existentes fazendo o upgrade de qualquer versão do Valkey ou do Redis OSS para as versões do Valkey mencionadas acima, em [alguns](VersionManagement.HowTo.md) cliques, sem tempo de inatividade.

Atualmente, a pesquisa está disponível em todos os tipos de ElastiCache instância, exceto nós com classificação de dados em camadas. Usar a pesquisa em instâncias t2, t3 e t4g exige aumentar a reserva de memória para pelo menos 50% para instâncias micro e 30% para instâncias pequenas. Consulte [esta página](redis-memory-management.md) para saber mais.

## Restrições paramétricas
<a name="parametric-restrictions"></a>

A tabela a seguir mostra os limites de vários itens de pesquisa:


**Limites de pesquisa**  

| Item | Valor máximo (9,0\+) | Valor máximo (8,2) | 
| --- | --- | --- | 
| Número de dimensões em um vetor | 32768 | 32768 | 
| Número de índices que podem ser criados | 1000 | 10 | 
| Número de campos em um índice | 1000 | 50 | 
| FT.SEARCH Cláusula TIMEOUT (milissegundos) | 60000 | 60000 | 
| Número máximo de prefixos permitidos por índice | 16 | 16 | 
| O tamanho máximo de um campo de tag | 10000 | 10000 | 
| O tamanho máximo de um campo numérico | 256 | 256 | 
| Parâmetro HNSW M | 2000000 | 2000000 | 
| Parâmetro HNSW EF\_CONSTRUCTION | 1000000 | 4096 | 
| Parâmetro HNSW EF\_RUNTIME | 1000000 | 4096 | 
| Número de termos permitidos para serem usados em uma string de consulta em FT.SEARCH/FT.AGGREGATE comandos | 1000 | 16 | 
| Número de atributos de texto permitidos por índice | 64 | NA | 
| Expansões máximas de palavras de texto nas pesquisas de prefixo, sufixo, difuso e termo-raiz | 200 | NA | 

## Restrições operacionais
<a name="operational-restrictions"></a>

### Persistência e preenchimento de índices
<a name="index-persistence-backfilling"></a>

Você pode ler mais sobre isso em [Valkey search index creation and backfill](https://valkey.io/topics/search/#index-creation-and-backfill).

### Limites de escala
<a name="scaling-limits"></a>

Na versão 9.0 do ElastiCache Valkey, durante eventos de escalabilidade, o RPS de gravação pode ser reduzido durante o evento. Na versão 8.2 do ElastiCache Valkey, durante eventos de escalabilidade, o índice pode passar por preenchimento conforme os dados são migrados, o que resultará em um recall reduzido para consultas de pesquisa.

### Instantâneo import/export e migração ao vivo
<a name="snapshot-import-export"></a>

Os arquivos RDB de um cluster com índices de pesquisa podem ser importados para outro cluster ElastiCache Valkey com a versão 8.2 ou superior. O novo cluster reconstruirá o conteúdo do índice ao carregar o arquivo RDB. No entanto, a presença de índices de pesquisa em um arquivo RDB limita a compatibilidade desses dados com versões anteriores do Valkey. O formato dos índices de pesquisa definidos pela funcionalidade de pesquisa vetorial só é compreendido por outro ElastiCache cluster com Valkey versão 8.2 ou superior. No entanto, arquivos RDB que não contêm índices não são restritos dessa maneira.

### Sem memória durante o preenchimento
<a name="out-of-memory-backfill"></a>

Semelhante a operações de gravação do Valkey OSS, um preenchimento de índice está sujeito a limitações de falta de memória. Se a memória do mecanismo ficar cheia enquanto um preenchimento estiver em andamento, todos os preenchimentos serão pausados. Se a memória ficar disponível, o processo de preenchimento será retomado. É possível excluir um índice quando o preenchimento é pausado devido à falta de memória.

### Transações
<a name="transactions"></a>

Os comandos `FT.CREATE` e`FT.DROPINDEX`, não podem ser executados em um contexto transacional, ou seja, não dentro de um `MULTI/EXEC` bloco ou dentro de um script LUA ou FUNCTION. Além disso, os `FT.AGGREGATE` comandos `FT.SEARCH` e não podem ser executados em um contexto transacional em um cluster ElastiCache Valkey operando no modo de cluster.

## Segurança de pesquisa
<a name="search-security"></a>

Os mecanismos de segurança de [Valkey ACL (listas de controle de acesso)](https://valkey.io/topics/acl/) para acesso a comandos e dados são estendidos para controlar o recurso de pesquisa. Há suporte total para o controle de ACL de comandos de pesquisa individuais. É fornecida uma nova categoria de ACL, `@search`, e muitas das categorias existentes (`@fast`, `@read`, `@write` etc.) são atualizadas para incluir os novos comandos. Os comandos de pesquisa não modificam os dados de chaves, o que significa que o mecanismo de ACL existente para acesso de gravação é preservado. As regras de acesso para operações `HASH` e `JSON` não são modificadas pela presença de um índice. O controle normal de acesso em nível de chave ainda é aplicado a esses comandos.

Comandos de pesquisa com um índice também têm o acesso controlado por meio da ACL. Verificações de acesso são realizadas no nível do índice inteiro, e não no nível por chave. Isso significa que o acesso a um índice será concedido a um usuário somente se este tiver permissão para acessar todas as chaves possíveis na lista de prefixos do espaço de chaves desse índice. Em outras palavras, o conteúdo real de um índice não controla o acesso. Pelo contrário, é o conteúdo teórico de um índice, conforme definido pela lista de prefixos, que é usado para a verificação de segurança. Situações em que um usuário tem acesso de leitura e and/or gravação a uma chave, mas não consegue acessar um índice contendo essa chave, são possíveis. Observe que somente o acesso para leitura ao espaço de chaves é necessário para criar ou usar um índice: a presença ou ausência do acesso para gravação não é levada em consideração.