Operadores de pesquisa de texto (sistemas autogerenciadas)
Nesta página
O MongoDB oferece uma solução premium de pesquisa de texto completo, MongoDB Atlas Search, para dados hospedados no MongoDB Atlas. Um recurso de pesquisa de texto legado está disponível para usuários que gerenciam MongoDB autogerenciados.
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 . |