Menu Docs
Página inicial do Docs
/ /

Índices de pesquisa do MongoDB

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

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

A Vector Search do MongoDB permite realizar pesquisas semânticas em incorporações vetoriais armazenadas no MongoDB Atlas . Para saber mais sobre a Vector Search do MongoDB , consulte a Visão geral da Vector Search do MongoDB .

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

  • MongoDB\Collection::createSearchIndex()

  • MongoDB\Collection::createSearchIndexes()

  • MongoDB\Collection::listSearchIndexes()

  • MongoDB\Collection::updateSearchIndex()

  • MongoDB\Collection::dropSearchIndex()

Observação

O gerenciamento do índice do MongoDB Search e do MongoDB Vector Search é assíncrono

A Biblioteca PHP do MongoDB gerencia índices do MongoDB Search e do MongoDB Vector 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 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 do MongoDB Search ou do MongoDB Vector 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 de pesquisa MongoDB :

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

O seguinte exemplo de código mostra como criar um único índice do MongoDB 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 do MongoDB 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 índices do MongoDB Search ou do MongoDB Vector Search , você poderá executar os tipos de query correspondentes em seus documentos. Para saber mais, consulte os seguintes guias:

  • Executar um guia de query de pesquisa do MongoDB

  • Execute um guia de query do MongoDB Vector Search

Você pode usar o método listSearchIndexes() para retornar uma array dos índices do MongoDB Search e do MongoDB 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 MongoDB Search ou MongoDB 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 do MongoDB Search ou do MongoDB Vector Search de uma coleção.

O seguinte código mostra como excluir o índice do MongoDB Search denominado mySearchIdx:

$collection->dropSearchIndex('mySearchIdx');

Para visualizar exemplos executáveis que demonstram como gerenciar índices, veja Índices para otimização de consultas.

Para exibir tutoriais que explicam como usar o recurso MongoDB Search, consulte Introdução ao MongoDB 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

Nesta página