Defina campos de origem armazenados em seu índice do Atlas Search
Nesta página
A opção storedSource
em umadefinição de índice do Atlas Search especifica os campos no documento de origem que o Atlas Search deve armazenar. Você pode configurar storedSource
para melhorar o desempenho da consulta em certos casos de uso, pois isso reduz a necessidade de consulta implícita no banco de dados de backend. Você pode armazenar campos de todos os tipos de dados no Atlas Search.
O Atlas Search não indexa campos armazenados, portanto você deve indexar os campos em separado para executar consultas nos mesmos. Você também pode recuperar campos armazenados no momento da consulta utilizando a opção ReturnStoredSource.
Observação
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+
Para saber mais sobre como recuperar os campos armazenados, consulte Retornar campos de origem armazenados.
Sintaxe
A opção storedSource
tem a seguinte sintaxe em uma definição de índice:
{ ..., "storedSource": true | false | { "include" | "exclude": [ "<field-name>", ... ] } }
Opções
A opção storedSource
obtém umvalor booleano ou um objeto na definição de índice.
Valores booleanos
Valor | Descrição |
---|---|
| Especifica que o Atlas Search deve armazenar todos os campo nos documento. Armazenar documento completos pode impacto significativamente o desempenho durante a indexação e a query. Para saber mais, consulte Armazenar campos de origem. |
| Especifica que o Atlas Search não deve armazenar o documento de origem original. Este é o valor padrão para a opção |
Objeto
O objeto de opção storedSource
aceita um dos seguintes campos:
Observação
O objeto deve conter include
ou exclude
.
Campo | Tipo | Descrição |
---|---|---|
| array de strings | Lista que contém os nomes dos campos ou caminhos separados por pontos para os campos a serem armazenados. Além do campo especificado, o Atlas Search armazena |
| array de strings | Lista que contém os nomes dos campos ou caminhos separados por pontos para campos a serem excluídos do armazenamento. Se especificado, o Atlas Search armazena documento originais, exceto os campo listados aqui. |
Exemplos
Os exemplos de índice seguintes utilizam os campos na coleção sample_mflix.movies
para demonstrar como configurar os campos para armazenar no Atlas Search utilizando a opção storedSource
. Você pode utilizar o Editor Visual ou o Editor JSON na UI do Atlas para configurar os índices.
Exemplo
O exemplo seguinte armazena somente os campos title
e awards.wins
nos documentos na collection. Após selecionar seu método de configuração preferido, selecione a collection movies
sob o reconhecimento de data center sample_mflix
.
Clique em Refine Your Index para configurar seu índice.
Na seção Stored Source Fields, clique em Specified.
Selecione
awards.wins
no menu suspenso na coluna Field Name e clique em Add.Clique em Add Field para especificar outro campo para armazenar.
Selecione
title
no menu suspenso na coluna Field Name e clique em Add.Clique em Save Changes.
Adicione as linhas 5 a 10 do exemplo a seguir à definição do índice para armazenar os campos no Atlas Search. O exemplo usa a notação de ponto para especificar campos aninhados.
1 { 2 "mappings": { 3 ... 4 }, 5 "storedSource": { 6 "include": [ 7 "title", 8 "awards.wins" 9 ] 10 }, 11 ... 12 }
Exemplo
O exemplo a seguir armazena todos os campos exceto directors
e imdb.rating
nos documentos na coleção. Após selecionar seu método de configuração preferido, selecione a movies
coleção sample_mflix
.
Clique em Refine Your Index para configurar seu índice.
Na seção Stored Source Fields, clique em All Except Specified.
Selecione
directors
no menu suspenso na coluna Field Name e clique em Add.Clique em Add Field para especificar outro campo a ser excluído.
Selecione
imdb.rating
no menu suspenso na coluna Field Name e clique em Add.Clique em Save Changes.
Acrescente linhas 5 a 10 do exemplo a seguir à definição de índice para excluir os campos. O exemplo usa a notação de ponto para especificar campos aninhados.
1 { 2 "mappings": { 3 ... 4 }, 5 "storedSource": { 6 "exclude": [ 7 "directors", 8 "imdb.rating" 9 ] 10 }, 11 ... 12 }
Exemplo
O exemplo a seguir armazena todos os campos nos documentos da collection. Após selecionar seu método de configuração preferido, selecione a coleção movies
no banco de dados sample_mflix
.
Clique em Refine Your Index para configurar seu índice.
Na seção Stored Source Fields, clique em All.
Clique em Save Changes.
Anexe a linha 5 do exemplo a seguir à definição do índice para armazenar todos os campos.
1 { 2 "mappings": { 3 ... 4 }, 5 "storedSource": true, 6 ... 7 }