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
/ /

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 búsqueda (disponible en MongoDB Atlas) admite varios índices de texto completo en una sola colección. Para obtener más información, consulta la documentación de Atlas búsqueda.

Si una consulta incluye una $text expresión, no puedes usar hint() para especificar qué índice usar para la 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 se crea un índice de texto compuesto, todas las claves del índice de texto deben aparecer enumeradas de forma adyacente 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 tiene una intercalación no simple, debe 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" }
}
)

Volver

Propiedades de índices de texto

En esta página