MongoDB\Collection::createSearchIndexes()
Novidade na versão 1.17.
Definição
MongoDB\Collection::createSearchIndexes()
Crie um ou mais índice de pesquisa do Atlas Search para a collection.
function createSearchIndexes( array $indexes, array $options = [] ): string Este comando só pode ser executado em um sistema hospedado no MongoDB Atlas e requer uma camada do cluster Atlas de pelo menos M10. Um sistema local do Atlas também pode ser usado para desenvolvimento.
Parâmetros
$indexes
: arrayArray de documentos que descrevem os índices a serem criados.
Um campo de documento
definition
obrigatório descreve o índice a ser criado. Para obter detalhes sobre a sintaxe de definição, consulte Sintaxe de definição do índiceAtlas Search .Um campo de string opcional
name
especifica o nome do índice de pesquisa para criar. Você não pode criar vários índices com o mesmo nome em uma única collection. Se você não especificar um nome, o índice será chamado de "padrão".$options
: arrayUma array especificando as opções desejadas.
NomeTipoDescriçãocommentmistoPermite ao usuário especificar um comentário arbitrário para ajudar a rastrear a operação por meio do profiler de banco de dados, da saída currentOp e dos registros.
Return Values
Os nomes dos índice de pesquisa do Atlas Search criados como um array de strings.
Erros/exceções
MongoDB\Exception\UnsupportedException
se as opções forem usadas e não aceitas pelo servidor selecionado (p. ex., collation
, readConcern
, writeConcern
).
MongoDB\Exception\InvalidArgumentException
para erros relacionados à análise de parâmetros ou opções.
MongoDB\Driver\Exception\RuntimeException para outros erros no nível da extensão (por exemplo erros de conexão).
Comportamento
Os índices do Atlas Search são gerenciados de forma assíncrona. Após criar ou atualizar um índice, você pode executar periodicamente o MongoDB\Collection::listSearchIndexes()
e verificar o campo de saída do queryable
para determinar se ele está pronto para ser utilizado.
Exemplos
Crie um índice com mapeamentos dinâmicos
O exemplo seguinte cria um índice do Atlas Search utilizando mapeamentos dinâmicos para indexar todos os campos de documento que contêm tipos de dados suportados.
$collection = (new MongoDB\Client)->selectCollection('test', 'articles'); $indexNames = $collection->createSearchIndexes( [ [ 'name' => 'test-search-index', 'definition' => ['mappings' => ['dynamic' => true]], ], ] ); var_dump($indexNames);
A saída seria então semelhante a:
array(1) { [0]=> string(17) "test-search-index" }
Veja também
Referência do comando createSearchIndexes no manual MongoDB
Documentação da Atlas Search no Manual do MongoDB