MongoDB.local SF, Jan 15: See the speaker lineup & ship your AI vision faster. Use WEB50 to save 50%
Find out more >
Menu Docs
Página inicial do Docs
/ /

Referência de índice

Um índice de pesquisa do MongoDB Search é uma estrutura de dados que mapeia documentos do seu cluster 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 de pesquisa MongoDB, você pode usar mapeamentos estáticos ou dinâmicos para especificar quais campos ou tipos de campo deseja indexar em sua coleção. Você também pode usar analisadores para definir como o MongoDB pesquisa extrai tokens pesquisáveis de string campos ou strings da 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 query de pesquisa do MongoDB, incluindo opções para armazenar campos 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 query, veja Gerenciar índices de pesquisa do MongoDB. Depois de definir seu índice de pesquisa MongoDB, você pode adicionar o índice ao seu cluster com o tutorial Criar um índice de pesquisa MongoDB. Para aprender como visualizar, editar, atualizar ou excluir seu índice de pesquisa do MongoDB, 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> | { <field-types-definition> } ,
4 "fields": { <field-definition> }
5 }
6}
7
1{
2 "analyzer": "<analyzer-for-index>",
3 "searchAnalyzer": "<analyzer-for-query>",
4 "mappings": {
5 "dynamic": <boolean> | {
6 "typeSet": "<typeSet-name>"
7 } ,
8 "fields": {
9 <field-definition>
10 }
11 },
12 "numPartitions": <integer>,
13 "analyzers": [ <custom-analyzer> ],
14 "storedSource": <boolean> | {
15 <stored-source-definition>
16 },
17 "synonyms": [
18 {
19 <synonym-mapping-definition>
20 }
21 ],
22 "typeSets": [
23 {
24 "types": [
25 {<field-types-definition>}
26 ]
27 }
28 ]
29}
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

Objeto

Obrigatório

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

mappings.
dynamic

booleano ou objeto

Opcional

Habilita o mapeamento dinâmico de tipos de campo ou configura campos individualmente para este índice.

O valor deve ser um dos seguintes:

  • booleano - defina como true para indexar recursivamente todos os tipos de campo indexáveis ou defina como false para não indexar dinamicamente nenhum dos tipos de campo indexáveis.

  • objeto - especifique o typeSet a ser usado para a indexação recursiva de todos os tipos de campo indexáveis. Para aprender mais, consulte mappings.dynamic.typeSet.

Se omitido, o padrão é false. Se definido como false, você deve definir os campos individuais para usar mappings.fields como índice estático.

Você também pode configurar campos individualmente para substituir as configurações padrão usando mappings.fields. As configurações para campos em mappings.fields substituem as configurações padrão.

IMPORTANTE: o MongoDB pesquisa indexa automaticamente todos os tipos de campo indexáveis dinamicamente em um document. O MongoDB Search também indexa recursivamente todos os documentos aninhados sob document, a menos que você substitua explicitamente definindo dynamic para false. Você também pode configurar a indexação dinâmica para indexar somente tipos de campo especificados utilizando typeSets.

Para aprender sobre os tipos de campo que você pode habilitar para mapeamentos dinâmicos, consulte Tipos de campo de pesquisa do MongoDB.

Para exemplo de configurações de índice, consulte Exemplos

mappings.
dynamic.
typeSet

String

Opcional

Faz referência ao nome do objeto typeSets que contém a lista de tipos de campo para o índice automática e recursivamente.

Mutualmente exclusivo com a bandeira booleana mappings.dynamic.

Importante

Os mapeamentos dinâmicos configuráveis estão em versão prévia. O recurso e a documentação correspondente podem mudar a qualquer momento durante o período de Pré-visualização. Para aprender mais, consulte Recursos de visualização.

mappings.
fields

Objeto

Condicional

Especifica os campos que você deseja incluir no índice. Necessário somente se o mapeamento dinâmico for false.

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

Inteiro

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 consultas em tempo de query usando a opção returnedStoredSource. Você pode armazenar campos de todos os tipos de campo da pesquisa MongoDB na pesquisa MongoDB. Tipos de Campo da Pesquisa 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 que executam o 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

Especifica os mapeamentos de sinônimos a serem usados 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.

typeSets

Array de objetos

Opcional

Especifica os typeSets a serem usados neste índice para mapeamentos dinâmicos.

typeSets.
[n].name

String

Obrigatório

Especifica o nome da configuração do typeSet.

typeSets.
[n].types

Array de objetos

Obrigatório

Especifica os tipos de campo, um por objeto, para indexar automaticamente utilizando mapeamentos dinâmicos.

typeSets.
[n].types.
[n].type

String

Obrigatório

Especifica o tipo de campo para o índice automático. Para saber mais sobre os tipos de campo que você pode configurar para mapeamento dinâmico, veja Configurar um typeSet.

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 cluster, crie pelo menos um índice do MongoDB Search para resolver esse erro.

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

Para aprender como adicionar um índice ao seu cluster, consulte Criar um índice de pesquisa 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