Página inicial do Docs → Desenvolver aplicações → Manual do MongoDB
Operadores de pesquisa de texto (sistemas autogerenciadas)
Nesta página
Observação
Esta página descreve os recursos de pesquisa de texto para sistemas autogerenciados (não Atlas). Para dados hospedados no MongoDB Atlas, o MongoDB oferece uma solução aprimorada de pesquisa de texto completo, oAtlas Search.
Estrutura de query
Utilize o operador de query $text
para executar pesquisas de texto em uma coleção com um índice de texto.
$text
tokenizará a string de pesquisa usando espaços em branco e a maior parte da pontuação como delimitadores e executará um OR
lógico de todos esses tokens na string de pesquisa.
Por exemplo, você pode usar a query a seguir para encontrar todas as lojas que contêm quaisquer termos da lista " coffee ", "shop" e "java" na coleção stores
:
db.stores.find( { $text: { $search: "java coffee shop" } } )
Utilize o operador de query $meta
para obter e classificar pela pontuação de relevância de cada documento correspondente. Por exemplo, para ordenar uma lista de cafés em ordem de relevância, execute o seguinte:
db.stores.find( { $text: { $search: "coffee shop cake" } }, { score: { $meta: "textScore" } } ).sort( { score: { $meta: "textScore" } } )
Para obter mais informações sobre os operadores $text
e $meta
, incluindo restrições e comportamento, consulte:
$meta
operador de projeção
Aggregation Pipeline
Ao trabalhar com aggregation pipelines, utilize o $match
com uma expressão $text
para executar uma query de pesquisa de texto. Para classificar os resultados em ordem de pontuação de relevância, utilize o $meta
operador de agregação na etapa $sort
[1].
Para mais informações e exemplos de pesquisa de texto em pipelines de Operações de Agregação, consulte Pesquisa de Texto no aggregation pipeline.
Para dados hospedados no MongoDB Atlas, o Atlas Atlas Search fornece o estágio de agregação $search para realizar pesquisas de texto completo em suas coleções.
[1] | O comportamento e os requisitos do operador de projeção $meta são diferentes dos do operador de agregação $meta . Para obter detalhes sobre o operador de agregação do $meta , consulte a página de referência do operador de agregação do $meta . |