MongoDB\Collection::createSearchIndexes()
Novidade na versão 1.17.
Definição
MongoDB\Collection::createSearchIndexes()
Create one or more Atlas Search or Vector Search indexes for the collection.
function createSearchIndexes( array $indexes, array $options = [] ): string Esse comando só pode ser executado em uma implantação hospedada 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 .An optional
name
string field specifies the name of the search index to create. You cannot create multiple indexes with the same name on a single collection. If you do not specify a name, the default index name isdefault
.An optional
type
string field specifies the type of search index to create. Accepted values are'search'
and'vectorSearch'
. If you do not specify a type, the method creates an Atlas Search index.$options
: arrayUma array especificando as opções desejadas.
NomeTipoDescriçãocomment
misto
Permite 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
The names of the created Atlas Search and Vector Search indexes as an array of 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
Atlas Search and Vector Search indexes are managed asynchronously. After creating or updating an
index, you can periodically execute
MongoDB\Collection::listSearchIndexes()
and check the
queryable
output field
to determine whether it is ready to be used.
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