Como indexar campos em objetos e documentos
Nesta página
Você pode usar o tipo Atlas Search document
para indexar campos em objeto ou documento.
Se você habilitar mapeamentos dinâmicos, o Atlas Search indexará automaticamente campos do tipo document
. Você pode utilizar o Editor Visual ou o Editor JSON na IU do Atlas para indexar campos como o tipo document
.
document
Revise as limitações de tipo
Não é possível usar o tipo document
do Atlas Search para indexar campos em objetos ou documentos que estão dentro de uma array. Em vez disso, utilize o tipo documento do Atlas Search para indexar campo em objeto ou documento que são elementos de uma array.
Defina o índice para o document
tipo
Para definir o índice para o tipo document
, escolha seu método de configuração preferido na UI do Atlas e então selecione o banco de dados e collection.
Clique em Refine Your Index para configurar seu índice.
Na seção Field Mappings, clique em Add Field para abrir a janela Add Field Mapping.
Clique em Customized Configuration.
Selecione o campo a ser indexado no menu suspenso Field Name.
Observação
Você não pode indexar campos que contêm o sinal de dólar (
$
) no início do nome do campo.Clique no menu suspenso Data Type e selecione Document.
Alterne a configuração de Enable Dynamic Mapping para habilitar ou desabilitar a indexação dinâmica de todos os campos indexáveis dinamicamente no documento. Para saber mais, consulte Como configurar propriedades de campo
document
.Clique em Add.
Se você desativou o mapeamento dinâmico, clique em Add Child Field para o campo de tipo Document para definir mapeamentos de campo para os campos do documento.
A seguir está a sintaxeJSON para o tipo document
. Substitua a definição de índice padrão pelo seguinte. Para saber mais sobre os campos, consulte Propriedades do campo.
1 { 2 "mappings": { 3 "dynamic": true|false, 4 "fields": { 5 "<field-name>": { 6 "type": "document", 7 "dynamic": true|false, 8 "fields": { 9 "<field-name>": { 10 <field-mapping-definition> 11 } 12 } 13 } 14 } 15 } 16 }
Configurar document
propriedades de campo do
O tipo document
do Atlas Search usa os seguintes parâmetros:
Opção | Tipo | necessidade | Descrição | Default |
---|---|---|---|---|
type | string | Obrigatório | Etiqueta legível por humanos que identifica o tipo de campo. O valor deve ser document . | |
dynamic | booleano | Opcional | Sinalizador que indica se o Atlas Search indexa recursivamente todos os campo e documento incorporado. Se definido como Para indexar todos os campo em um documento incluindo campo que o Atlas Search não indexa dinamicamente, defina os campo na definição de índice. Se omitido ou definido para IMPORTANTE: o Atlas Search indexa dinamicamente todos os campos em um | false |
fields | documento | Opcional | Documento que mapeia os nomes dos campos para as definições dos campos. Para saber mais, veja um exemplo. Isso será necessário se dynamic for omitido ou definido como false . |
Experimente um exemplo para o document
tipo de
O exemplo de definição de índice abaixo usa a coleção sample_mflix.movies. Se você já tiver os dados de amostra carregados em seu cluster, poderá usar o Visual Editor ou o Editor JSON na UI do Atlas para configurar o índice. Após selecionar seu método de configuração preferido, selecione o banco de dados e a coleção e filtre seu índice para adicionar mapeamentos de campo.
A definição de índice indexa o campo awards
como o tipo document
. Ele também configura o Atlas Search para indexar automaticamente todos os campo indexáveis dinamicamente dentro do objeto awards
.
Na janela Add Field Mapping, selecione awards no menu suspenso Field Name.
Clique no menu suspenso Data Type e selecione Document.
Alterne a configuração de Enable Dynamic Mapping para habilitar a indexação dinâmica de todos os campos indexáveis dinamicamente no documento, se ainda não estiver habilitada.
Clique em Add.
Substitua a definição de índice padrão pela seguinte definição de índice.
1 { 2 "mappings": { 3 "dynamic": false, 4 "fields": { 5 "awards": { 6 "type": "document", 7 "dynamic": true 8 } 9 } 10 } 11 }