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

Neste guia, você pode aprender como gerenciar programaticamente seus índices do Atlas Search e do Atlas Vector Search usando a biblioteca PHP.

O recurso Atlas Search permite realizar pesquisas de texto completo em collections hospedadas no MongoDB Atlas. Para saber mais sobre o Atlas Search, consulte a Visão geral do Atlas Search.

O Atlas Vector Search permite que você realize pesquisas semânticas em incorporações vetoriais armazenadas no MongoDB Atlas. Para aprender mais sobre o Atlas Vector Search, veja a Visão Geral do Atlas Vector Search.

Você pode usar os seguintes métodos em uma instância MongoDB\Collection para gerenciar seus índices de pesquisa do Atlas Search e do Vector Search:

  • MongoDB\Collection::createSearchIndex()

  • MongoDB\Collection::createSearchIndexes()

  • MongoDB\Collection::listSearchIndexes()

  • MongoDB\Collection::updateSearchIndex()

  • MongoDB\Collection::dropSearchIndex()

Observação

O gerenciamento de índices de pesquisa do Atlas Search e do Vector Search é assíncrono

A Biblioteca PHP do MongoDB gerencia os índices de pesquisa do Atlas Search e do Vector Search de forma assíncrona. Os métodos de 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 a seguir fornecem exemplos de código que demonstram como usar cada um dos métodos anteriores.

Você pode usar o método createSearchIndex() para criar um único índice de pesquisa do Atlas Search ou do Vector Search em uma coleção 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:

$searchIndexName = $collection->createSearchIndex(
['mappings' => ['dynamic' => true]],
['name' => 'mySearchIdx']
);

O exemplo de código a seguir mostra como criar um único índice de pesquisa do Atlas Vector Search:

$vectorSearchIndexName = $collection->createSearchIndex(
[
'fields' => [[
'type' => 'vector',
'path' => 'plot_embedding',
'numDimensions' => 1536,
'similarity' => 'dotProduct'
]]
],
['name' => 'myVSidx', 'type' => 'vectorSearch']
);

O exemplo de código a seguir mostra como criar índices Atlas Search e Vector Search em uma chamada:

$indexNames = $collection->createSearchIndexes(
[
[
'name' => 'SearchIdx',
'definition' => ['mappings' => ['dynamic' => true]],
],
[
'name' => 'VSidx',
'type' => 'vectorSearch',
'definition' => [
'fields' => [[
'type' => 'vector',
'path' => 'plot_embedding',
'numDimensions' => 1536,
'similarity' => 'dotProduct'
]]
],
],
]
);

Depois de criar os índices do Atlas Search ou do Atlas Vector Search, você pode executar os tipos de query correspondentes em seus documentos. Para aprender mais, consulte os seguintes guias:

  • Atlas Search guide

  • Guia do Atlas Vector Search

Você pode usar o método listSearchIndexes() para retornar um array dos índices de pesquisa do Atlas Search e do Vector 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 do Atlas Search ou Vector Search . Você pode usar este método para alterar o nome ou a configuração de um índice existente.

O seguinte código mostra como atualizar um índice de pesquisa para usar 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 de pesquisa do Atlas Search ou do Vector Search de uma coleção.

O código a seguir mostra como excluir o índice do Atlas Search chamado mySearchIdx:

$collection->dropSearchIndex('mySearchIdx');

Para exibir exemplos executáveis que demonstram como gerenciar índices, consulte Otimizar queries usando índices.

Para visualizar tutoriais que explicam como usar o recurso Atlas Search, consulte Comece a usar o 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