Menu Docs
Página inicial do Docs
/ /

Índices de texto em sistemas autogerenciados

Observação

Esta página descreve os recursos de query de texto para sistemas autogerenciados (não Atlas). Para dados hospedados no MongoDB, o MongoDB também oferece uma solução aprimorada de query de texto completo, MongoDB Search e uma solução de pesquisa vetorial, Vector Search.

Os índices de texto oferecem suporte a queries de pesquisa de texto em campos que contêm conteúdo de string. Elas também oferecem suporte a expressões de agregação para campos de string criptografados em collections habilitadas para Queryable Encryption. Os índices de texto melhoram o desempenho quando você pesquisa palavras ou strings específicas no conteúdo da string.

Uma collection pode ter somente um índice de texto, mas esse índice pode incluir vários campos.

Para criar um índice de texto, use o seguinte protótipo:

db.<collection>.createIndex(
{
<field1>: "text",
<field2>: "text",
...
}
)

Os índices de texto suportam operações de query do $text em implantações locais. Para usar $text, você deve criar um índice de texto.

Os índices de texto oferecem suporte a expressões de agregação para campos em collections do Queryable Encryption com queries de prefixo, sufixo ou substring ativadas. Um índice de texto é necessário para usar a expressão $encStrNormalizedEq.

A coleção clothing de uma loja online tem um campo description que contém uma string de texto descrevendo cada item. Para encontrar roupas feitas de "silk", crie um índice de texto em description e execute uma query $text para "silk". A pesquisa retorna todos os documentos mencionando "silk" em description.

Para saber como criar e usar índices de texto, consulte:

Esta seção descreve os detalhes do índice de texto.

Em um índice composto com uma chave de índice de texto e outros tipos de chave, somente o campo de índice de texto determina se o índice faz referência a um documento. Outras chaves não afetam as referências de documento .

Os índices de texto não podem cobrir uma query.

Os índices de texto são sempre esparsos. O MongoDB ignora a sparse opção ao criar índices de texto.

O MongoDB não adiciona uma entrada de índice de texto para documentos que não possuem o campo de índice de texto , têm valores nulos ou têm arrays vazias.

Os índices de texto têm estas características de armazenamento e desempenho:

  • Os índices de texto podem consumir uma quantidade significativa de RAM. Eles contêm uma entrada de índice para cada palavra derivada única em cada campo indexado para cada documento.

  • Construir um índice de texto é semelhante a construir um grande índice multi-chave, mas leva mais tempo do que construir um índice ordenado (scalar) nos mesmos dados.

  • Ao construir índices de texto grandes, garanta limites de descritor de arquivo suficientes. Consulte as configurações recomendadas.

  • Os índices de texto impacto o desempenho de gravação porque o MongoDB deve adicionar uma entrada de índice para cada palavra única derivada em cada campo indexado de novos documentos.

  • Os índices de texto armazenam palavras individuais, não cadeias de caracteres de várias palavras ou informações de proximidade de palavras. Queries com várias palavras são executadas mais rapidamente quando toda a coleção cabe na RAM.

Voltar

Idiomas de pesquisa de texto

Nesta página