Docs Menu
Docs Home
/ /
Text Indexes
/ / / /

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

Este tutorial describe cómo crear índices para limitar la cantidad de entradas de índice escaneadas para consultas que incluyen un $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" }

Considere 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 para escanear solo aquellos documentos dentro de un específico,dept cree un índice compuesto que primero especifique una clave de índice ascendente/descendente en el campo dept y luego una text clave de índice en el description campo:

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

Entonces, la búsqueda de texto dentro de un departamento específico limitará el análisis de los documentos indexados. Por ejemplo, la siguiente consulta analiza solo los documentos con dept igual a kitchen:

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

Nota

  • Un text índice 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 que preceden a la clave del índice de texto, para utilizar, el predicado $text de consulta debe incluir condiciones de coincidencia de igualdad 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