Menu Docs
Página inicial do Docs
/
MongoDB Atlas
/ / /

Revise a Syntax do índice do Atlas Search

Nesta página

  • Sintaxe
  • Opções

O Atlas Search pode indexar dados de diferentes maneiras. Ao definir um índice do Atlas Search, você pode especificar um determinado analisador ou vários analisadores para indexar certos campos. Para saber mais, consulte Processar dados com analisadores. Você também pode indexar determinados campos e omitir outros, ou você pode indexar dinamicamente todos os campos em uma coleção. Para saber mais, consulte Definir mapeamentos de campo. Você pode definir os índices do Atlas Search por meio da IU do Atlas, API do Atlas Search, Atlas CLI, mongosh ou Drivers.

Esta página descreve a sintaxe JSON e campos para um índice do Atlas Search.

Importante

Se você utilizar o estágio de agregação $out para modificar uma coleção com um índice do Atlas Search, deverá excluir e recriar o índice de pesquisa. Se possível, considere usar $merge em vez de $out.

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": 4,
9 "analyzers": [ <custom-analyzer> ],
10 "storedSource": <boolean> | {
11 <stored-source-definition>
12 },
13 "synonyms": [
14 {
15 "name": "<synonym-mapping-name>",
16 "source": {
17 "collection": "<source-collection-name>"
18 },
19 "analyzer": "<synonym-mapping-analyzer>"
20 }
21 ]
22}
23
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 analyzer para os campos na definição do índice, o Atlas Search aplicará esse analyzer a todos os campos. Para usar um analyzer diferente para cada campo, você deve especificar um analyzer 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 como true, o Atlas 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 Atlas Search indexa dinamicamente todos os campos em um document usando as configurações padrão para o tipo de dados detectado. O Atlas Search também indexa dinamicamente todos os documentos aninhados sob document, a menos que você substitua explicitamente definindo dynamic para false.

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 documento exceder dois bilhões. Os seguintes valores são válidos: 1, 2, 4, 8, 16, 32, 64. Se omitido, o padrão é 1.

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

Importante

A numPartitions opção está disponível como um recurso de visualização.

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 no Atlas Search. 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 5.0.6+

  • MongoDB 6.0+

  • MongoDB 7.0+

Se omitido, o padrão é false.

Para saber mais, consulte Definir campos de origem armazenados em seu índice do Atlas Search.

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 do Atlas Search.

Voltar

4: Configurar mapeamentos de sinônimos

Nesta página