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 consultar 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 2023de julho para classificar seus resultados. Para índices preexistentes, você deve reconstruir o índice para usar campos de número no índice para classificação. Para mais informações, consulte Atualizar í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 sintaxe JSON 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, veja o exemplo abaixo.

double
Index Integers
indexIntegers
booleano
Opcional
Sinalizador que indica se deve indexar ou omitir a indexação de valores do tipo int32 e int64. 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 valores de tipo de indexação double. O valor pode ser true ou false. Isto ou indexIntegers deve ser true. Para saber mais, veja o 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 32-bit e 64-bit 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