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

Restricciones del índice de texto en implementaciones autogestionadas

Los índices de texto tienen estas restricciones:

Una colección puede tener como máximo un índice de texto.

Atlas Search (disponible en MongoDB Atlas) admite múltiples índices de texto completo en una sola colección. Para obtener más información, consulta la documentación de Atlas Search.

Si un query incluye una expresión $text, no se puede usar hint() para especificar qué índice usar para el query.

Si la string $search de una operación $text incluye una string de varias palabras y términos individuales, $text solo coincide con los documentos que incluyan la string de varias palabras.

Para obtener un ejemplo de búsqueda de texto con cadenas de varias palabras, consulta Cadenas exactas.

Los índices de texto no pueden mejorar el rendimiento de las operaciones de ordenamiento. Esta restricción se aplica tanto a los índices de texto de un solo campo como a los compuestos.

Un índice compuesto puede incluir un campo de índice de texto combinado con claves de índice ascendentes y descendentes. Sin embargo, los índices de texto compuestos tienen estas restricciones:

  • Un índice de texto compuesto no puede incluir ningún otro tipo de índice especial, como campos de índice multiclave o geoespaciales.

  • Si el índice de texto compuesto incluye claves anteriores a la clave de índice de texto, para utilizar $text, el predicado de la consulta debe incluir condiciones de coincidencia exacta en las claves anteriores.

  • Cuando creas un índice de texto compuesto, todas las claves de índices de texto deben estar listadas adyacentes en el documento de especificación del índice.

Para ejemplos de índices de texto compuestos, consulta estas páginas:

Los índices de texto solo admiten comparación binaria, y no admiten la opción de intercalación. La comparación binaria compara el valor Unicode numérico de cada carácter en cada string, y no considera las mayúsculas ni los signos diacríticos.

Para crear un índice de texto en una colección que tenga una intercalación no simple, debes especificar explícitamente { collation: { locale: "simple" } } al crear el índice.

Por ejemplo, considere una colección llamada "collationTest" con una intercalación de { locale: "en" }:

db.createCollection(
"collationTest",
{
collation: { locale: "en" }
}
)

Para crear un índice de texto en la colección collationTest, debes especificar { collation: { locale: "simple" } }. El siguiente comando crea un índice de texto en el campo quotes:

db.collationTest.createIndex(
{
quotes: "text"
},
{
collation: { locale: "simple" }
}
)