Menu Docs
Página inicial do Docs
/ /

Índices de pesquisa do MongoDB

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

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

A pesquisa vetorial do MongoDB permite realizar pesquisas semânticas em incorporações vetoriais armazenadas no MongoDB Atlas. Para saber mais sobre a pesquisa vetorial do MongoDB, consulte a Visão geral da pesquisa vetorial 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 pesquisa e da MongoDB pesquisa vetorial é assíncrono

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

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

O seguinte exemplo de código mostra como criar um único índice de pesquisa vetorial do MongoDB:

$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 de pesquisa MongoDB e Vector pesquisa 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 de pesquisa do MongoDB Pesquisa ou do MongoDB Pesquisa Vetorial, 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 um array dos índices de pesquisa do MongoDB e do MongoDB Vector pesquisa 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 pesquisa ou MongoDB pesquisa vetorial. 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 da MongoDB pesquisa ou da MongoDB pesquisa vetorial de uma coleção.

O seguinte código mostra como excluir o índice de pesquisa do MongoDB 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 pesquisa MongoDB, consulte Comece com a pesquisa MongoDB 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