Operadores de pesquisa de texto (sistemas autogerenciadas)
Nesta página
Observação
Esta página descreve os recursos de query de texto para sistemas autogerenciados (não Atlas). Para dados hospedados no MongoDB Atlas, o MongoDB oferece uma solução aprimorada de query de texto completo, Atlas Search , e uma solução de pesquisa vetorial, Atlas Vector Search.
Estrutura de query
Utilize o operador de query $text
para executar pesquisas de texto em uma collection com um índice de texto.
$text
tokeniza a string de pesquisa usando espaços em branco e a maior parte da pontuação como delimitadores e executa 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
Pipeline de agregação
Ao trabalhar com agregação 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 obter mais informações e exemplos de $text
em pipelines de operações de agregação , consulte $text no aggregation pipeline sobre sistemas autogerenciados.
Para dados hospedados no MongoDB Atlas, o Atlas Atlas Search fornece o estágio de agregação $search para realizar Full Text Searches 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 . |