Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Índices de búsqueda de MongoDB

MongoDB Search te permite realizar búsquedas de texto completo en colecciones alojadas en MongoDB Atlas. Los índices de búsqueda de MongoDB Search especifican el comportamiento de la búsqueda y cuáles campos indexar.

Se puede llamar a los siguientes métodos en una colección para administrar los índices de búsqueda de MongoDB:

  • createSearchIndex()

  • createSearchIndexes()

  • listSearchIndexes()

  • updateSearchIndex()

  • dropSearchIndex()

Nota

Los métodos de gestión de índices de MongoDB Search se ejecutan de forma asíncrona y pueden devolver una respuesta antes de confirmar que se ejecutaron correctamente. Para determinar el estado actual de los índices, llama al método listSearchIndexes().

Las siguientes secciones muestran ejemplos de código que demuestran cómo utilizar cada uno de los métodos anteriores.

Puede usar los métodos createSearchIndex() y createSearchIndexes() para crear uno o más índices de búsqueda de MongoDB.

También puedes utilizar estos métodos para crear índices de búsqueda vectorial de MongoDB. MongoDB Vector Search te permite realizar búsquedas semánticas en incrustaciones vectoriales almacenadas en MongoDB Atlas. Para aprender más sobre esta funcionalidad, consulta la Visión general de MongoDB Vector Search.

El siguiente ejemplo de código muestra cómo crear un índice de búsqueda de MongoDB:

val index = Document("mappings" -> Document("dynamic" -> true))
collection.createSearchIndex("<index name>", index)
.subscribe((result: String) => ())

El siguiente ejemplo de código muestra cómo crear múltiples índices. A diferencia del método createSearchIndex(), que asigna un nombre por defecto al índice creado, se deben proporcionar nombres de índices para cada índice al utilizar el método createSearchIndexes().

val indexOne = SearchIndexModel("<first index name>", Document("mappings" -> Document("dynamic" -> true, "fields" -> Document("field1" -> Document("type" -> "string")))))
val indexTwo = SearchIndexModel("<second index name>", Document("mappings" -> Document("dynamic" -> false, "fields" -> Document("field2" -> Document("type" -> "string")))))
collection.createSearchIndexes(List(indexOne, indexTwo))
.subscribe((result: String) => ())

Para obtener más información sobre la sintaxis utilizada para definir índices de MongoDB Search, consulta la guía Revisar la sintaxis del índice de MongoDB Search en el manual de Atlas.

Puede usar el método listSearchIndexes() para devolver todos los índices de búsqueda de MongoDB en una colección.

El siguiente ejemplo de código muestra cómo imprimir una lista de los índices de búsqueda en una colección suscribiéndose al Observable devuelto por el método listSearchIndexes():

collection.listSearchIndexes()
.subscribe((result: Document) => println(result.toJson()))
{"id": "...", "name": "<index name 1>", "type": "search", "status": "READY", "queryable": true, ... }
{"id": "...", "name": "<index name 2>", "type": "search", "status": "READY", "queryable": true, ... }

Se puede utilizar el método updateSearchIndex() para actualizar un índice de Búsqueda de MongoDB.

El siguiente código muestra cómo actualizar un índice de búsqueda:

val updateIndex = Document("mappings" -> Document("dynamic" -> false))
collection.updateSearchIndex("<index to update>", updateIndex)
.subscribe((result: Unit) => ())

Puede usar el método dropSearchIndex() para borrar un índice de búsqueda de MongoDB.

Advertencia

Borrar índices de búsqueda y clústeres es irreversible

Borrar índice de búsqueda y clústeres asociados es una acción permanente. MongoDB no proporciona soporte para recuperar índice de búsqueda o datos borrados. Asegúrese de haber tomado las medidas adecuadas, como crear copias de seguridad, para evitar la pérdida de datos antes de continuar.

MongoDB no admite solicitudes para recuperar índices de búsqueda o datos eliminados. Usted es responsable de la integridad y las configuraciones de los datos.

El siguiente código muestra cómo eliminar un índice de búsqueda de una colección:

collection.dropSearchIndex("<index name>")
.subscribe((result: Unit) => ())

Para obtener más información sobre MongoDB Search, consulta la documentación de MongoDB Search.

Para obtener más información sobre los métodos y tipos mencionados en esta guía, vea la siguiente documentación de la API: