Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

Limite o número de entradas verificadas

Este tutorial descreve como criar índices para limitar o número de entrada de índice verificadas para query que incluem uma expressão $text e condições de igualdade.

Uma coleção inventory contém os seguintes 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 o caso de uso comum que realiza pesquisas de texto por departamentos individuais , como:

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

Para limitar a pesquisa de texto para digitalizar somente os documentos dentro de um dept específico, crie um índice composto que primeiro especifique uma chave de índice ascendente/descendente no campo dept e, em seguida, uma chave de índice text no campo description:

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

Em seguida, a pesquisa de texto dentro de um departamento específico limitará a digitalização de documentos indexados. Por exemplo, a query a seguir verifica somente os documentos com dept igual a kitchen:

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

Observação

  • Um text índice composto não pode incluir nenhum outro tipo de índice especial, como campos de índice geoespacial ou de várias chaves .

  • Se o índice composto text incluir chaves que precedem a chave de índice text , para executar uma pesquisa $text , o predicado da query deverá incluir condições de correspondência de igualdade nas chaves anteriores.

  • Ao criar um índice composto text , todas as chaves de índice text devem ser listadas adjacentemente no documento de especificação do índice.

Dica

Veja também:

← Controle os resultados da pesquisa com pesos