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 texto en implementaciones autogestionadas

Nota

MongoDB ofrece una solución de búsqueda de texto completo mejorada, Búsqueda MongoDB y la solución de búsqueda vectorial, Búsqueda Vectorial MongoDB. Recomendamos usar índices de Búsqueda MongoDB o de Búsqueda Vectorial MongoDB en lugar de índices de texto.

Soporte de índices de texto $textConsultas en campos que contienen cadenas. También admiten expresiones de agregación para campos de cadena cifrados en colecciones con cifrado consultable habilitado. Los índices de texto mejoran el rendimiento al buscar palabras o cadenas específicas dentro de una cadena.

Una colección solo puede tener un índice de texto, pero ese índice puede incluir varios campos.

Para crear un índice de texto, utilice el siguiente prototipo:

db.<collection>.createIndex(
{
<field1>: "text",
<field2>: "text",
...
}
)

Los índices de texto admiten $text operaciones del query en implementaciones on-premises. Para usar $text, debes crear un índice de texto.

Los índices de texto admiten expresiones de agregación para campos en colecciones de Queryable Encryption con queries de prefijo, sufijo o subcadena habilitadas. Se requiere un índice de texto para usar la expresión $encStrNormalizedEq.

La colección clothing de una tienda en línea tiene un campo description que contiene un string de texto que describe cada artículo. Para encontrar ropa hecha de "silk", crea un índice de texto en description y ejecuta una query $text para "silk". La búsqueda devuelve todos los documentos que mencionan "silk" en description.

Para aprender a crear y utilizar índices de texto, consulte:

Esta sección describe los detalles del índice de texto.

En un índice compuesto con una clave de índice de texto y otros tipos de claves, solo el campo de índice de texto determina si el índice hace referencia a un documento. Otras claves no afectan a las referencias de los documentos.

Los índices de texto no pueden cubrir una consulta.

Los índices de texto siempre son dispersos. MongoDB ignora la opción sparse al crear índices de texto.

MongoDB no agrega una entrada de índice para los documentos que carecen del campo de índice de texto, tienen valores nulos o tienen arreglos vacíos.

Los índices de texto tienen estas características de almacenamiento y rendimiento:

  • Los índices de texto pueden consumir una cantidad significativa de RAM. Contienen una entrada de índice para cada palabra única radicalizada en cada campo indexado para cada documento.

  • Crear un índice de texto es similar a crear un índice multiclave grande, pero lleva más tiempo que crear un índice ordenado (escalar) con los mismos datos.

  • Al crear índices de texto grandes, se deben garantizar límites suficientes de descriptores de archivos. Ver configuración recomendada.

  • Los índices de texto impactan el rendimiento de las escrituras porque MongoDB debe agregar una entrada de índice para cada palabra derivada única en cada campo indexado de los documentos nuevos.

  • Los índices de texto almacenan palabras individuales, no cadenas de varias palabras ni información de proximidad de palabras. Las queries con varias palabras se ejecutan más rápido cuando toda la colección cabe en la memoria RAM.

Volver

$text Lenguajes de consulta

En esta página