Text Indexes
Nesta página
Visão geral
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 os índices do Atlas Search e como usá-los, consulte o guia dos índices do Atlas Search e Vector Search .
Dados de amostra
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.
Índice de texto em um campo único
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)
Índice de texto em vários campos
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 MongoDB Server .