Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Realizar uma query de texto

Neste guia, você pode aprender como executar uma query de texto usando Laravel MongoDB.

Você pode usar uma query de texto para recuperar documentos que contenham um termo ou uma frase em um campo especificado. Um termo é uma sequência de caracteres que exclui caracteres de espaço em branco. Uma frase é uma sequência de termos com qualquer número de caracteres do espaço em branco.

Este guia descreve os métodos do modelo Eloquent que você pode usar para pesquisar texto e fornece exemplos. Para saber mais sobre os modelos Eloquent na integração com o Laravel, consulte a seção Modelos Eloquent.

Para executar os exemplos de código neste guia, conclua o tutorial Início Rápido . Este tutorial fornece instruções sobre como configurar uma instância do MongoDB Atlas com dados de amostra e criar os seguintes arquivos em seu aplicativo web Laravel:

  • Movie.php arquivo, que contém um modelo Movie para representar documentos na coleção movies

  • MovieController.php arquivo, que contém uma função show() para executar operações do banco de dados

  • browse_movies.blade.php arquivo, que contém código HTML para exibir os resultados das operações do reconhecimento de data center

As seções a seguir descrevem como editar os arquivos em seu aplicativo Laravel para executar os exemplos de código da operação e visualizar o resultado esperado.

Antes de executar uma query de texto, você deve criar um índice de texto no campo com valor de texto. Para saber mais sobre como criar índices, consulte a seção Gerenciar índices do guia Construtor de esquemas.

You can perform a text query by using the $text operator followed by the $search field in your query filter that you pass to the where() method. The $text operator performs a text query on the text-indexed fields. The $search field specifies the text to search for.

Após construir sua query utilizando o método where() , encadeie o método get() para recuperar os resultados da query.

Este exemplo chama o método where() no modelo Movie Eloquent para recuperar documentos nos quais o campo plot contém a frase "love story". Para executar esta query de texto, a collection deve ter um índice de texto no campo plot.

Use a seguinte sintaxe para especificar a query:

$movies = Movie::where('$text', ['$search' => '"love story"'])
->get();

Para ver os resultados da query na exibição browse_movies , edite a função show() no arquivo MovieController.php para se assemelhar ao código a seguir:

class MovieController
{
public function show()
{
$movies = Movie::where('$text', ['$search' => '"love story"'])
->get();
return view('browse_movies', [
'movies' => $movies
]);
}
}

A text query assigns a numerical text score to indicate how closely each result matches the string in your query filter. You can sort the results by relevance by using the orderBy() method to sort on the textScore metadata field. You can access this metadata by using the $meta operator:

$movies = Movie::where('$text', ['$search' => '"love story"'])
->orderBy('score', ['$meta' => 'textScore'])
->get();

Dica

Para saber mais sobre o método orderBy(), consulte a seção Classificar Resultados da Query do guia Modificar Saída da Query.

Para ver exemplos de código executável que demonstram como realizar operações de localização usando a integração com o Laravel, consulte os seguintes exemplos de uso:

Para saber como recuperar dados com base em critérios de filtro, consulte o guia Recuperar dados.