Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

Restrições de índice de texto

Nesta página

  • Um índice de texto por collection
  • Pesquisar e dicas de texto
  • pesquisar de texto e frases
  • Índice e classificação de texto
  • Índice de texto composto
  • Opção de agrupamento

Os índices de texto têm estas restrições:

Uma coleção pode ter no máximo um índice de texto.

O Atlas Search (disponível no MongoDB Atlas) suporta vários índices de texto completo do Atlas Search em uma única collection. Para saber mais, consulte a documentação daAtlas Search .

Se uma query incluir uma expressão $text , você não poderá usar hint() para especificar o índice a ser usado na query.

Se a string $search de uma operação $text incluir uma frase e termos individuais, $text corresponderá apenas aos documentos que incluem a frase.

Você não pode usar o operador $text com várias frases.

Os índices de texto não podem melhorar o desempenho das operações de classificação. Essa restrição se aplica a índices de texto composto e de campo único.

Um índice composto pode incluir uma chave de índice de texto em combinação com chaves de índice crescentes e decrescentes. No entanto, os índices de texto compostos têm estas restrições:

  • Um índice de texto composto não pode incluir nenhum outro tipo de índice especial, como campos de índice multichave ou geoespacial .

  • Se o índice de texto composto incluir chaves que precedem a chave do índice de texto, para usar $text, o predicado de query deverá incluir condições de correspondência de igualdade nas chaves anteriores.

  • Ao criar um índice de texto composto, todas as chaves de índice de texto devem ser listadas adjacentemente no documento de especificação do índice.

Para exemplos de índices de texto compostos, consulte estas páginas:

Os índices de texto suportam apenas a comparação binária e não suportam a opção de agrupamento . A comparação binária compara o valor numérico Unicode de cada caractere em cada string e não leva em conta maiúsculas e minúsculas ou acentos.

Para criar um índice de texto em uma collection que tem um agrupamento não simples, você deve especificar explicitamente { collation: { locale: "simple" } } ao criar o índice.

Por exemplo, pense em uma coleção chamada collationTest com um agrupamento de { locale: "en" }:

db.createCollection(
"collationTest",
{
collation: { locale: "en" }
}
)

Para criar um índice de texto na collection collationTest , você deve especificar { collation: { locale: "simple" } }. O seguinte comando cria um índice de texto no campo quotes :

db.collationTest.createIndex(
{
quotes: "text"
},
{
collation: { locale: "simple" }
}
)
← Propriedades de índices de texto