Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/
Atlas
/ /

Referência de índice

Um índice do MongoDB Search é uma estrutura de dados que mapeia documentos do seu cluster Atlas para os termos extraídos desses documentos. Os índices de pesquisa do MongoDB permitem pesquisas eficientes de texto completo em seu banco de dados.

Ao definir um índice do MongoDB Search, você pode usar mapeamentos estáticos ou dinâmicos para especificar quais campos deseja indexar em sua collection. Você também pode usar analisadores para definir como o MongoDB Search extrai tokens pesquisáveis de string campos ou strings de query. Por fim, você pode aplicar opções de configuração adicionais em sua definição de índice para melhorar o desempenho e a precisão de sua consulta do MongoDB Search, incluindo opções para armazenar campos de origem em seu índice ou definir mapeamentos de sinônimos.

Para saber como definir um índice de pesquisa do MongoDB de acordo com seus requisitos de consulta, consulte Gerenciar índices de pesquisa do MongoDB . Depois de definir o índice do MongoDB Search, você pode adicionar o índice ao seu Atlas cluster com o tutorial Criar um índice de pesquisa do MongoDB . Para saber como visualizar, editar, atualizar ou excluir seu índice do MongoDB Search, consulte Clientes compatíveis.

Esta página descreve a sintaxe e as opções de definiçãoJSON para um índice do MongoDB Search.

1{
2 "mappings": {
3 "dynamic": <boolean>,
4 "fields": { <field-definition> }
5 }
6}
7
1{
2 "analyzer": "<analyzer-for-index>",
3 "searchAnalyzer": "<analyzer-for-query>",
4 "mappings": {
5 "dynamic": <boolean>,
6 "fields": { <field-definition> }
7 },
8 "numPartitions": <integer>,
9 "analyzers": [ <custom-analyzer> ],
10 "storedSource": <boolean> | {
11 <stored-source-definition>
12 },
13 "synonyms": [
14 {
15 <synonym-mapping-definition>
16 }
17 ]
18}
19
Campo
Tipo
necessidade
Descrição

analyzer

string

Opcional

Especifica o analyzer para aplicar aos campos da string ao indexar.

Se você definir isso apenas na parte superior e não especificar um analisador para os campos na definição do índice, o MongoDB Search aplicará esse analisador a todos os campos. Para usar um analisador diferente para cada campo, você deve especificar um analisador diferente para o campo.

Se omitido, o padrão será Analisador padrão.

analyzers

Opcional

Especifica os Analyzers customizados a serem usados neste índice.

mappings

Obrigatório

Especifica como indexar campos em caminhos diferentes para este índice.

mappings.dynamic

booleano

Opcional

Habilita ou desabilita o mapeamento dinâmico de campos para este índice.

Se definido true como, o MongoDB Search indexará recursivamente todos os campos indexáveis dinamicamente.

Se definido como false, você deve especificar campos individuais para indexar usando mappings.fields.

Se omitido, o padrão é false.

IMPORTANTE: o MongoDB Search indexa dinamicamente todos os campos em um document utilizando as configurações padrão para o tipo de dados detectado. O MongoDB Search também indexa dinamicamente todos os documentos aninhados document sob, a menos que você substitua explicitamente dynamic definindo false para.

Para conferir exemplos de configurações de índice, consulte Exemplo de mapeamento estático ou Exemplo de mapeamento combinado

mappings.fields

documento

Condicional

Especifica os campos que você deseja indexar. Necessário apenas se o mapeamento dinâmico estiver desabilitado.

Você não pode indexar campos que contêm o sinal de dólar ($) no início do nome do campo.

Para saber mais, consulte Definir mapeamentos de campo.

searchAnalyzer

string

Opcional

Especifica o analisador a ser aplicado ao texto de query antes de usá-lo para fazer uma pesquisa.

Se omitido, é padronizado para o analisador que você especifica para a opção analyzer. Se você omitir as opções searchAnalyzer e analyzer, o padrão será o Analisador padrão.

numPartitions

int

Opcional

Especifica o número de subíndices a serem criados se a contagem de documentos ultrapassar dois bilhões. Os seguintes valores são válidos: 1, 2, 4. Se omitido, o padrão é 1.

Para usar partições de índice, você deve ter nós de pesquisa distribuídos em seu cluster.

storedSource

Opcional

Especifica os campos nos documentos a serem armazenados para pesquisas de tempo de query usando a opção returnedStoredSource. Você pode armazenar campos de todos os tipos de dados na pesquisa do MongoDB . O valor pode ser um dos seguintes:

  • true, para armazenar todos os campos

  • false, para não armazenar nenhum campo

  • Objeto que especifica os campos de include ou exclude a partir do armazenamento

storedSource está disponível apenas em clusters Atlas que executam uma das seguintes versões:

  • MongoDB 7.0+

Se omitido, o padrão é false.

Para saber mais, consulte Definir campos de origem armazenados no índice de pesquisa do MongoDB .

synonyms

Opcional

Mapeamentos de sinônimos para usar em seu índice.

Uma definição de índice pode ter somente um mapeamento de sinônimo.

Para saber mais, consulte Definir mapeamentos de sinônimos em seu índice de pesquisa do MongoDB .

O erro a seguir é retornado se você executar queries $search quando o processo MongoDB Search mongot não estiver instalado ou em execução:

MongoError: Remote error from mongot :: caused by :: Error connecting to localhost:28000.

O processo mongot é instalado somente quando o primeiro índice do MongoDB Search é definido. Se você não tiver nenhum índice do MongoDB Search em seu Atlas cluster, crie pelo menos um índice do MongoDB Search para resolver esse erro.

Para saber como definir um índice do MongoDB Search para atender às suas necessidades de query do MongoDB Search, consulte Gerenciar índices de pesquisa do MongoDB .

Para saber como adicionar um índice ao seu cluster Atlas , consulte Criar um índice de pesquisa do MongoDB .

Para saber mais sobre as opções de configuração de índice disponíveis, consulte as seguintes páginas de referência:

Voltar

Gerenciar índices

Nesta página