Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

MongoDB\Collection::createSearchIndexes()

Novedad en la versión 1.17.

MongoDB\Collection::createSearchIndexes()

Cree uno o más índices de MongoDB Search o Vector Search para la colección.

function createSearchIndexes(
array $indexes,
array $options = []
): string

Este comando solo se puede ejecutar en una implementación alojada en MongoDB Atlas y requiere un nivel de clúster Atlas de al menos M10. Una implementación local de Atlas también puede usarse para el desarrollo.

$indexes : arreglo

Arreglo de documentos que describen los índices que se deben crear.

Un campo de documento obligatorio definition describe el índice que se va a crear. Para obtener detalles sobre la sintaxis de definición, consulta Sintaxis de Definición de Índice de Búsqueda.

Un campo de cadena name opcional especifica el nombre del índice de búsqueda que se va a crear. No se puede crear varios índices con el mismo nombre en una sola colección. Si no especifica un nombre, el nombre del índice por defecto es default.

Un campo de string type opcional especifica el tipo de índice de búsqueda que se debe crear. Los valores aceptados son 'search' y 'vectorSearch'. Si no especificas un tipo, el método crea un índice de búsqueda en MongoDB Search.

$options : arreglo

Un arreglo que especifica las opciones deseadas.

Nombre
Tipo
Descripción

comment

mixto

Permite a los usuarios especificar un comentario arbitrario para ayudar a rastrear la operación a través del perfilador de bases de datos, la salida actualOp() y registros.

Los nombres de los índices de MongoDB Search y Vector Search creados como un arreglo de strings.

MongoDB\Exception\UnsupportedException si se usan opciones que no sean compatibles con el servidor seleccionado (p. ej. collation, readConcern, writeConcern).

MongoDB\Exception\InvalidArgumentException por errores relacionados con el análisis de parámetros u opciones.

MongoDB\Driver\Exception\RuntimeException para otros errores a nivel de extensión (por ejemplo, errores de conexión).

Los índices de MongoDB Search y Vector Search se gestionan de forma asíncrona. Después de crear o actualizar un índice, puedes ejecutar periódicamente y comprobar MongoDB\Collection::listSearchIndexes() el queryable campo de salida para determinar si está listo para usarse.

El siguiente ejemplo crea un índice de búsqueda de MongoDB utilizando mapeos dinámicos para indexar todos los campos de documentos que contengan tipos de datos admitidos.

<?php
$collection = (new MongoDB\Client)->selectCollection('test', 'articles');
$indexNames = $collection->createSearchIndexes(
[
[
'name' => 'test-search-index',
'definition' => ['mappings' => ['dynamic' => true]],
],
]
);
var_dump($indexNames);

La vista de salida se ilustraría como sigue:

array(1) {
[0]=>
string(17) "test-search-index"
}

Volver

createSearchIndex()

En esta página