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

Como Indexar Valores Numéricos

Nesta página

  • Definir o índice para o tipo number
  • Configurar propriedades do campo number
  • Experimente um exemplo para o tipo de number

Você pode usar o tipo Atlas Search number para indexar campos com valores numéricos dos tipos de dados int32, int64 e double. Você pode usar os operadores equals , range e near para fazer query em campos indexados do tipo number.

Observação

Para executar queries em valores numéricos em arrays, você pode utilizar somente o operador range.

O Atlas Search não indexa automaticamente valores numéricos para facetmento. Em vez disso, você deve indexar os valores numéricos usando numberFacet para executar uma query de facet em campos numéricos.

O Atlas Search indexa automaticamente todos os campos numéricos em índices criados após julho de 2023 para classificar os resultados do Atlas Search. Para índices preexistentes, você deve reconstruir o índice para usar campos de número no índice para classificação. Para saber mais, consulte Atualizar seu índice existente e Classificar resultados do Atlas Search.

Se você habilitar mapeamentos dinâmicos, o Atlas Search indexará automaticamente campos do tipo number. Você pode utilizar o Editor Visual ou o Editor JSON na UI do Atlas para indexar campos como o tipo number.

  1. Clique em Refine Your Index para configurar seu índice.

  2. Na seção Field Mappings, clique em Add Field Mapping para abrir a janela Add Field Mapping.

  3. Clique em Customized Configuration.

  4. 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.

  5. Clique no menu suspenso Data Type e selecione Number.

  6. Configure as propriedades do campo para o tipo number. Para saber mais, consulte Propriedades do campo.

  7. Clique em Add.

A seguir está a sintaxeJSON para o tipo number. Substitua a definição de índice padrão pelo seguinte. Para saber mais sobre os campos, consulte Propriedades do campo.

{
"mappings": {
"dynamic": true|false,
"fields": {
"<field-name>": {
"type": "number",
"representation": "int64|double",
"indexIntegers": true|false,
"indexDoubles": true|false
}
}
}
}

O tipo Atlas Search number tem os seguintes parâmetros:

Nome do campo UI
JSON Option
Tipo
necessidade
Descrição
Default

Data Type

type

string

Obrigatório

Etiqueta legível por humanos que identifica este tipo de campo. O valor deve ser number.

Representation

representation

string

Opcional

Tipo de dados do campo a indexar. Os valores são:

  • int64 - para indexar inteiros grandes sem perda de precisão e para arredondar valores double para inteiros. Não é possível usar esse tipo para indexar valores double grandes.

  • double - para indexar valores double grandes sem arredondamento.

Para saber mais, consulte exemplo abaixo.

double

Index Integers

indexIntegers

booleano

Opcional

Sinalizador que indica se deve indexar ou omitir a indexação int32 de int64 valores do tipo e. O valor pode ser true ou false. Ou isso ou indexDoubles deve ser true. Para saber mais, consulte exemplo abaixo.

true

Index Doubles

indexDoubles

booleano

Opcional

Sinalizador que indica se indexar ou omitir double valores de tipo de indexação. O valor pode ser true ou false. Ou isso ou indexIntegers deve ser true. Para saber mais, consulte exemplo abaixo.

true

Os seguintes exemplos de definição de índice utilizam múltiplas coleções nos dados de amostra. Se você tiver os dados de amostra já carregados no seu cluster, você poderá utilizar o Editor Visual e o Editor JSON para configurar estes índices. Após selecionar seu método de configuração preferido, selecione o banco de dados e a coleção e refine seu índice para adicionar mapeamentos de campo.

A seguinte definição de índice para a coleção sample_analytics.accounts no conjunto de dados de amostra indexa o campo account_id com valores inteiros de 64 bits. O seguinte exemplo também:

  • Indexa todos os outros valores inteiros no campo account_id.

  • Arredonda quaisquer valores decimais e indexa pequenos valores de tipo double no campo account_id .

  1. Na janela Add Field Mapping, selecione account_id no menu suspenso Field Name.

  2. Clique no menu suspenso Data Type e selecione Number.

  3. Modifique o Number Properties para definir o seguinte:

    • Representation para int64.

    • Index Integers para true.

    • Index Doubles para true.

  4. Clique em Add.

Substitua a definição de índice padrão pela seguinte definição de índice.

{
"mappings": {
"dynamic": false,
"fields": {
"account_id": {
"type": "number",
"representation": "int64"
}
}
}
}

A seguinte definição de índice para a coleção sample_analytics.accounts no conjunto de dados de amostra indexa valores inteiros e omite valores duplos no account_id.

  1. Na janela Add Field Mapping, selecione account_id no menu suspenso Field Name.

  2. Clique no menu suspenso Data Type e selecione Number.

  3. Modifique o Number Properties para definir o seguinte:

    • Representation para int64.

    • Index Integers para true.

    • Index Doubles para false.

  4. Clique em Add.

Substitua a definição de índice padrão pela seguinte definição de índice.

{
"mappings": {
"dynamic": false,
"fields": {
"account_id": {
"type": "number",
"representation": "int64",
"indexDoubles": false
}
}
}
}

A definição de índice a seguir para a coleção sample_airbnb.listingsAndReviews no conjunto de dados de amostra indexa valores do tipo double e omite os valores inteiros de 32 bits e 64 bits no campo bathrooms.

  1. Na janela Add Field Mapping, selecione bathrooms no menu suspenso Field Name.

  2. Clique no menu suspenso Data Type e selecione Number.

  3. Modifique o Number Properties para definir o seguinte:

    • Representation para doubles.

    • Index Integers para false.

    • Index Doubles para true.

  4. Clique em Add.

Substitua a definição de índice padrão pela seguinte definição de índice.

{
"mappings": {
"dynamic": false,
"fields": {
"bathrooms": {
"type": "number",
"indexIntegers": false
}
}
}
}

Voltar

vetor de conhecimento