Definición
Nuevo en la versión 7.0: (También disponible a partir de la versión 6.0.7)
Devuelve información sobre los existentes Índices de búsqueda Atlas o índices de búsqueda vectorial Atlas en una colección específica.
Importante
Método mongosh
Esta página documenta un método mongosh. Esta no es la documentación para un driver específico de lenguaje, como Node.js.
Para los drivers de API de MongoDB, consulte la documentación del driver de MongoDB específica del lenguaje.
Compatibilidad
Este método está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube
Sintaxis
Sintaxis del comando:
db.<collection>.getSearchIndexes(<indexName>)
Campos de comandos
getSearchIndexes() toma este campo:
Campo | Tipo | Necesidad | Descripción |
|---|---|---|---|
| string | Opcional | Nombre del índice sobre el que se devolverá información. Si se omite el campo |
Control de acceso
Si su implementación aplica control de acceso, el usuario que ejecuta getSearchIndexes() debe tener la listSearchIndexes acción privilegiada sobre la base de datos o colección:
{ resource: { db : <database>, collection: <collection> }, actions: [ "listSearchIndexes" ] }
El rol integrado proporciona read el listSearchIndexes privilegio. El siguiente ejemplo otorga el read rol en la qa base de datos:
db.grantRolesToUser( "<user>", [ { role: "read", db: "qa" } ] )
Salida
getSearchIndexes() Devuelve una matriz de documentos. Cada documento de la matriz contiene los siguientes campos:
Campo | Tipo | Descripción |
|---|---|---|
| string | Identificador único para el índice. |
| string | Nombre del índice. |
| string | Estado del índice. Para más información, consulte Estados del índice de búsqueda en Atlas. |
| booleano | Indica si el índice está listo para ser consultado. |
| Documento | Describe la versión del índice. |
| entero | Número de versión asociado con la definición del índice. Cuando se actualiza una definición de índice, el número de versión se incrementa automáticamente. |
| fecha | Hora en que se creó la definición del índice actual. |
| Documento | La definición más reciente del índice. Para más información, consulte Sintaxis de definición de índice de búsqueda. |
| conjunto de documentos | Contiene el estado del índice en cada host de búsqueda ( |
| string | Nombre de host del |
| string | Estado del índice en el |
| booleano | Indica si el índice está listo para ser consultado en el |
| Documento | Contiene información de estado sobre el índice activo en el Para obtener más detalles, consulte Detalles del estado del índice. |
| Documento | Contiene información de estado sobre un índice que se está creando en segundo plano en el Para obtener más detalles, consulte Detalles del estado del índice. |
| string | Estado de las asignaciones de sinónimos del índice. Este campo solo aparece si el índice tiene sinónimos definidos. Puede tener uno de los siguientes valores:
El estado devuelto es un resumen de las asignaciones de sinónimos en cada |
| conjunto de documentos | Contiene el estado de las asignaciones de sinónimos del índice en cada host de búsqueda ( |
| string | Estado de la asignación de sinónimos correspondiente en todos los procesos |
| booleano | Indica si la asignación de sinónimos correspondiente puede admitir query en todos los procesos |
| string | Describe un error en la asignación de sinónimos, si corresponde. Solo aparece si el valor |
Detalles del estado del índice
La siguiente tabla describe los campos incrustados de los siguientes documentos: - statusDetail.[mongot].mainIndex - statusDetail.[mongot].stagedIndex
Los campos describen el estado del índice en un mongot específico.
Campo | Tipo | Descripción |
|---|---|---|
| string | El estado de la generación del índice en el |
| booleano | Indica si la generación del índice está lista para ser consultada en el |
| string | El estado de los mapeos de sinónimos de la generación de índices en el |
| Documento | Contiene el estado de las asignaciones de sinónimos del índice en el Para obtener más información, consulte Detalles de asignación de sinónimos. |
| Documento | Describe la versión de definición de índice con la que se está creando esta generación de índice. |
| entero | Número de versión que se utiliza para la generación del índice en el |
| fecha | Hora en que se creó la definición del índice. |
| Documento | La definición con la que se construye este índice. |
Detalles de mapeo de sinónimos
La siguiente tabla describe los campos embebidos de los siguientes objetos:
statusDetail.mainIndex.synonymMappingStatusDetails.<synonymMapping>statusDetail.stagedIndex.synonymMappingStatusDetails<synonymMapping>
Campo | Tipo | Descripción |
|---|---|---|
| string | Estado para la mapeo de sinónimos en el proceso correspondiente |
| booleano | Indica si la asignación de sinónimos puede admitir consultas en el proceso |
| string | Describe un error en la asignación de sinónimos, si corresponde. Solo aparece si el valor |
Estados del índice de búsqueda de Atlas
El campo status en la salida getSearchIndexes() puede ser uno de los siguientes:
Estado | Descripción |
|---|---|
| Los siguientes escenarios pueden provocar que un índice esté en el estado
Cuando el índice está en el estado
Un índice en el estado |
| El índice no existe. Un índice en el estado |
| Atlas está eliminando el índice. Un índice en el estado |
| Error en la creación del índice. Los índices pueden entrar en el estado Un índice en el estado |
| Atlas aún no ha comenzado a desarrollar el índice. Un índice en el estado |
| El índice está listo y puede admitir consultas. Un índice en el estado |
| El índice es consultable pero ha dejado de replicar datos de la colección indexada. Las búsquedas en el índice pueden devolver datos desactualizados. Los índices pueden ingresar al estado Un índice en el estado |
Ejemplos
Estos ejemplos demuestran cómo:
Devolución de todos los índices de búsqueda
El siguiente ejemplo devuelve todos los índices de búsqueda de Atlas de la colección movies. La colección movies contiene dos índices de búsqueda: default y synonym_mappings.
db.movies.getSearchIndexes()
Salida de muestra:
[ { id: '6524096020da840844a4c4a7', name: 'default', status: 'BUILDING', queryable: true, latestDefinitionVersion: { version: 2, createdAt: ISODate("2023-10-09T14:51:57.355Z") }, latestDefinition: { mappings: { dynamic: true }, storedSource: { include: [ 'awards.text' ] } }, statusDetail: [ { hostname: 'atlas-n1cm1j-shard-00-02', status: 'BUILDING', queryable: true, mainIndex: { status: 'READY', queryable: true, definitionVersion: { version: 0, createdAt: ISODate("2023-10-09T14:08:32.000Z") }, definition: { mappings: { dynamic: true, fields: {} } } }, stagedIndex: { status: 'PENDING', queryable: false, definitionVersion: { version: 1, createdAt: ISODate("2023-10-09T14:51:29.000Z") }, definition: { mappings: { dynamic: true, fields: {} }, storedSource: true } } }, { hostname: 'atlas-n1cm1j-shard-00-01', status: 'BUILDING', queryable: true, mainIndex: { status: 'READY', queryable: true, definitionVersion: { version: 0, createdAt: ISODate("2023-10-09T14:08:32.000Z") }, definition: { mappings: { dynamic: true, fields: {} } } }, stagedIndex: { status: 'PENDING', queryable: false, definitionVersion: { version: 1, createdAt: ISODate("2023-10-09T14:51:29.000Z") }, definition: { mappings: { dynamic: true, fields: {} }, storedSource: true } } }, { hostname: 'atlas-n1cm1j-shard-00-00', status: 'BUILDING', queryable: true, mainIndex: { status: 'READY', queryable: true, definitionVersion: { version: 0, createdAt: ISODate("2023-10-09T14:08:32.000Z") }, definition: { mappings: { dynamic: true, fields: {} } } } } ] }, { id: '65240be420da840844a4d077', name: 'synonym_mappings', status: 'READY', queryable: true, latestDefinitionVersion: { version: 0, createdAt: ISODate("2023-10-09T14:19:16.305Z") }, latestDefinition: { mappings: { dynamic: true, fields: { fullplot: { type: 'string' } } }, synonyms: [ { name: 'synonym_mapping', analyzer: 'lucene.english', source: { collection: 'synonyms' } } ] }, synonymMappingStatus: 'READY', synonymMappingStatusDetail: [ { synonym_mapping: { status: 'READY', queryable: true } } ], statusDetail: [ { hostname: 'atlas-n1cm1j-shard-00-02', status: 'READY', queryable: true, mainIndex: { status: 'READY', queryable: true, definitionVersion: { version: 0, createdAt: ISODate("2023-10-09T14:19:16.000Z") }, definition: { mappings: { dynamic: true, fields: { fullplot: { type: 'string', indexOptions: 'offsets', store: true, norms: 'include' } } }, synonyms: [ { name: 'synonym_mapping', analyzer: 'lucene.english', source: { collection: 'synonyms' } } ] }, synonymMappingStatus: 'READY', synonymMappingStatusDetail: [ { synonym_mapping: { status: 'READY', queryable: true } } ] } }, { hostname: 'atlas-n1cm1j-shard-00-01', status: 'READY', queryable: true, mainIndex: { status: 'READY', queryable: true, definitionVersion: { version: 0, createdAt: ISODate("2023-10-09T14:19:16.000Z") }, definition: { mappings: { dynamic: true, fields: { fullplot: { type: 'string', indexOptions: 'offsets', store: true, norms: 'include' } } }, synonyms: [ { name: 'synonym_mapping', analyzer: 'lucene.english', source: { collection: 'synonyms' } } ] }, synonymMappingStatus: 'READY', synonymMappingStatusDetail: [ { synonym_mapping: { status: 'READY', queryable: true } } ] } }, { hostname: 'atlas-n1cm1j-shard-00-00', status: 'READY', queryable: true, mainIndex: { status: 'READY', queryable: true, definitionVersion: { version: 0, createdAt: ISODate("2023-10-09T14:19:16.000Z") }, definition: { mappings: { dynamic: true, fields: { fullplot: { type: 'string', indexOptions: 'offsets', store: true, norms: 'include' } } }, synonyms: [ { name: 'synonym_mapping', analyzer: 'lucene.english', source: { collection: 'synonyms' } } ] }, synonymMappingStatus: 'READY', synonymMappingStatusDetail: [ { synonym_mapping: { status: 'READY', queryable: true } } ] } } ] } ]
Devolver un índice de búsqueda único
El siguiente ejemplo devuelve el índice synonym_mappings en la colección movies:
db.movies.getSearchIndexes("synonym_mappings")
Salida de muestra:
[ { id: '65240be420da840844a4d077', name: 'synonym_mappings', status: 'READY', queryable: true, latestDefinitionVersion: { version: 0, createdAt: ISODate("2023-10-09T14:19:16.305Z") }, latestDefinition: { mappings: { dynamic: true, fields: { fullplot: { type: 'string' } } }, synonyms: [ { name: 'synonym_mapping', analyzer: 'lucene.english', source: { collection: 'synonyms' } } ] }, synonymMappingStatus: 'READY', synonymMappingStatusDetail: [ { synonym_mapping: { status: 'READY', queryable: true } } ], statusDetail: [ { hostname: 'atlas-n1cm1j-shard-00-02', status: 'READY', queryable: true, mainIndex: { status: 'READY', queryable: true, definitionVersion: { version: 0, createdAt: ISODate("2023-10-09T14:19:16.000Z") }, definition: { mappings: { dynamic: true, fields: { fullplot: { type: 'string', indexOptions: 'offsets', store: true, norms: 'include' } } }, synonyms: [ { name: 'synonym_mapping', analyzer: 'lucene.english', source: { collection: 'synonyms' } } ] }, synonymMappingStatus: 'READY', synonymMappingStatusDetail: [ { synonym_mapping: { status: 'READY', queryable: true } } ] } }, { hostname: 'atlas-n1cm1j-shard-00-01', status: 'READY', queryable: true, mainIndex: { status: 'READY', queryable: true, definitionVersion: { version: 0, createdAt: ISODate("2023-10-09T14:19:16.000Z") }, definition: { mappings: { dynamic: true, fields: { fullplot: { type: 'string', indexOptions: 'offsets', store: true, norms: 'include' } } }, synonyms: [ { name: 'synonym_mapping', analyzer: 'lucene.english', source: { collection: 'synonyms' } } ] }, synonymMappingStatus: 'READY', synonymMappingStatusDetail: [ { synonym_mapping: { status: 'READY', queryable: true } } ] } }, { hostname: 'atlas-n1cm1j-shard-00-00', status: 'READY', queryable: true, mainIndex: { status: 'READY', queryable: true, definitionVersion: { version: 0, createdAt: ISODate("2023-10-09T14:19:16.000Z") }, definition: { mappings: { dynamic: true, fields: { fullplot: { type: 'string', indexOptions: 'offsets', store: true, norms: 'include' } } }, synonyms: [ { name: 'synonym_mapping', analyzer: 'lucene.english', source: { collection: 'synonyms' } } ] }, synonymMappingStatus: 'READY', synonymMappingStatusDetail: [ { synonym_mapping: { status: 'READY', queryable: true } } ] } } ] } ]