Índices de pesquisa do Atlas
Nesta página
Visão geral
O recurso Atlas Search permite realizar pesquisas de texto completo em collections hospedadas no Atlas. Antes de executar queries do Atlas Search , você deve criar índices que especifiquem quais campos indexar e como eles são indexados.
Você pode utilizar os seguintes métodos em uma instância do MongoDB\Collection
para gerenciar seus índices de Atlas Search :
MongoDB\Collection::createSearchIndex()
MongoDB\Collection::createSearchIndexes()
MongoDB\Collection::listSearchIndexes()
MongoDB\Collection::updateSearchIndex()
MongoDB\Collection::dropSearchIndex()
Observação
O gerenciamento do índice do Atlas Search é assíncrono
A biblioteca PHP do MongoDB gerencia os índices do Atlas Search de forma assíncrona. Os métodos da biblioteca descritos nas seções a seguir retornam a resposta do servidor imediatamente, mas as alterações nos índices de pesquisa ocorrem em segundo plano e podem não ser concluídas até algum tempo depois.
As seções seguintes fornecem exemplos de código que demonstram como utilizar cada método de gerenciamento de índice do Atlas Search .
Criar um índice de pesquisa
Você pode usar o método createSearchIndex()
para criar um único índice do Atlas Search em uma collection ou o método createSearchIndexes()
para criar vários índices simultaneamente.
O seguinte exemplo de código mostra como criar um único índice do Atlas Search :
$indexName = $collection->createSearchIndex( ['mappings' => ['dynamic' => true]], ['name' => 'mySearchIdx'] );
O seguinte exemplo de código mostra como criar múltiplos índices do Atlas Search :
$indexNames = $collection->createSearchIndexes( [ [ 'name' => 'SearchIdx_dynamic', 'definition' => ['mappings' => ['dynamic' => true]], ], [ 'name' => 'SearchIdx_simple', 'definition' => [ 'mappings' => [ 'dynamic' => false, 'fields' => [ 'title' => [ 'type' => 'string', 'analyzer' => 'lucene.simple' ] ] ] ], ], ] );
Depois de criar um índice de pesquisa, você pode realizar queries do Atlas Search em sua coleção. Para saber mais, consulte Criar e executar queries de Atlas Search do Atlas na documentação do Atlas.
Listar índices de pesquisa
Você pode utilizar o método listSearchIndexes()
para retornar uma array dos índices do Atlas Search em uma coleção:
foreach ($collection->listSearchIndexes() as $indexInfo) { echo json_encode($indexInfo), PHP_EOL; }
Atualizar um Índice de Pesquisa
Você pode utilizar o método updateSearchIndex()
para atualizar um índice de Atlas Search . Você pode usar esse método para alterar o nome de um índice de pesquisa ou alterar a configuração do índice.
O seguinte código mostra como atualizar um índice de pesquisa para utilizar um analisador simples no campo title
:
$collection->updateSearchIndex( 'mySearchIdx', ['mappings' => [ 'dynamic' => false, 'fields' => [ 'title' => [ 'type' => 'string', 'analyzer' => 'lucene.simple' ] ] ]] );
Excluir um índice de pesquisa
Você pode usar o método dropSearchIndex()
para remover um índice do Atlas Search de uma coleção.
O seguinte código mostra como excluir o índice do Atlas Search denominado mySearchIdx
:
$collection->dropSearchIndex('mySearchIdx');
Informações adicionais
Para visualizar exemplos executáveis que demonstram como gerenciar índices, consulte Otimizar Queries Usando Índices.
Para ver tutoriais que explicam como usar a funcionalidade Atlas Search , consulte Introdução ao Atlas Search na documentação do Atlas .
Documentação da API
Para saber mais sobre qualquer um dos métodos discutidos nesta guia, consulte a seguinte documentação da API: