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

Restricciones del índice 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.

Los índices de texto tienen estas restricciones:

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

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

Si una query incluye un $text no se puede utilizar la expresión 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 ver ejemplos de $text query 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" }
}
)

Volver

Propiedades de índices de texto

En esta página