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

Índices de texto en implementaciones autogestionadas

Nota

MongoDB ofrece una solución mejorada de búsqueda de texto completo, MongoDB Search, y solución de búsqueda vectorial, MongoDB Vector Search. Recomendamos que utilizar el índice de MongoDB Search o índices de MongoDB Vector Search en lugar índices de texto.

Soporte para índices de texto $text consulta en campos que tienen contenido de string. También admiten expresiones de agregación para campos de string cifrado en colecciones habilitadas para Queryable Encryption. Los índices de texto mejoran el rendimiento cuando buscas palabras o strings específicas dentro del contenido de un string.

Una colección puede tener solo 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, consulta:

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.

  • La creación de un índice de texto es similar a la de un índice de varias claves grande, pero lleva más tiempo que crear un índice ordenado (escalar) sobre 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