Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Índices de búsqueda de MongoDB

MongoDB Search permite realizar búsquedas de texto completo en colecciones alojadas en MongoDB Atlas. Los índices de MongoDB Search especifican el comportamiento de la búsqueda y los campos que se indexan.

Puede llamar a los siguientes métodos en una colección para administrar sus í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 proporcionan 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 varios índices. A diferencia del método createSearchIndex(), que asigna un nombre predeterminado al índice creado, al usar el método createSearchIndexes(), se deben proporcionar nombres de índice para cada índice.

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 utilizar 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.

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:

Volver

Multikey

En esta página