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

Limita el número de entradas de índice de texto escaneadas en implementaciones autogestionadas

Este tutorial describe cómo crear índices para limitar el número de entradas de índice escaneadas para consultas que incluyan una $text condiciones de expresión e igualdad.

Una colección inventory contiene los siguientes documentos:

{ _id: 1, dept: "tech", description: "lime green computer" }
{ _id: 2, dept: "tech", description: "wireless red mouse" }
{ _id: 3, dept: "kitchen", description: "green placemat" }
{ _id: 4, dept: "kitchen", description: "red peeler" }
{ _id: 5, dept: "food", description: "green apple" }
{ _id: 6, dept: "food", description: "red potato" }

Considera el caso de uso común que realiza búsquedas de texto por departamentos individuales, como:

db.inventory.find( { dept: "kitchen", $text: { $search: "green" } } )

Para limitar la búsqueda de texto a que solo escanee aquellos documentos dentro de un dept específico, crea un índice compuesto que primero especifique una clave de índice ascendente/descendente en el campo dept y luego una clave de índice text en el campo description:

db.inventory.createIndex(
{
dept: 1,
description: "text"
}
)

A continuación, la búsqueda de texto dentro de un departamento determinado limitará el escaneo de documentos indexados. Por ejemplo, la siguiente query escanea solo aquellos documentos con dept igual a kitchen:

db.inventory.find( { dept: "kitchen", $text: { $search: "green" } } )

Nota

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

  • 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.

  • Al crear un índice compuesto text, todas las claves de índice text deben enumerarse de forma adyacente en el documento de especificación del índice.

Tip

Volver

Asignar pesos a los resultados de búsqueda de texto en implementaciones autogestionadas