Menu Docs
Página inicial do Docs
/ / /
Manual da Biblioteca PHP
/

Índices de pesquisa do Atlas

Nesta página

  • Visão geral
  • Criar um índice de pesquisa
  • Listar índices de pesquisa
  • Atualizar um Índice de Pesquisa
  • Excluir um índice de pesquisa
  • Informações adicionais

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 .

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.

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;
}

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'
]
]
]]
);

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');

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 .

Para saber mais sobre qualquer um dos métodos discutidos nesta guia, consulte a seguinte documentação da API:

Voltar

Multikey Indexes