Menu Docs
Página inicial do Docs
/ / /
PyMongo
/ /

Índices de texto

Nesta página

  • Visão geral
  • Dados de amostra
  • Índice de texto em um campo único
  • Índice de texto em vários campos

Os índices de texto suportam queries de pesquisa de texto no conteúdo de string. Esses índices podem incluir qualquer campo cujo valor seja uma string ou uma array de elementos de string. O MongoDB suporta pesquisa de texto para vários idiomas. Você pode especificar o idioma padrão como uma opção ao criar o índice.

Dica

O MongoDB oferece uma solução aprimorada de pesquisa de texto completo, Atlas Search. Para saber mais sobre índices de Atlas Search e como utilizá-los, consulte o guia Índices de Atlas Search .

Os exemplos neste guia usam a collection sample_mflix.movies dos conjuntos de dados de amostra do Atlas. Para saber como criar um MongoDB Atlas cluster gratuito e carregar os conjuntos de dados de amostra, consulte Introdução ao PyMongo.

O exemplo seguinte cria um índice de texto no campo plot:

movies.create_index(
[( "plot", "text" )]
)

O seguinte é um exemplo de uma consulta que utiliza o índice criado no exemplo de código anterior:

query = { "$text": { "$search": "a time-traveling DeLorean" } }
cursor = movies.find(query)

Uma collection pode conter somente um índice de texto. Se você deseja criar um índice de texto para múltiplos campos de texto, crie um índice composto. Uma pesquisa de texto é executada em todos os campos de texto dentro do índice composto.

O exemplo seguinte cria um índice de texto composto para os campos title e genre :

result = myColl.create_index(
[("title", "text"), ("genre", "text")],
default_language="english",
weights={ "title": 10, "genre": 3 }
)

Para obter mais informações, consulte Restrições do índice de texto composto e Índices de texto no manual do servidor MongoDB.

Voltar

Índices de pesquisa do Atlas

Próximo

Índices geoespaciais