Como Indexar Valores Numéricos
Nesta página
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
.
Definir o índice para o tipo number
Clique em Refine Your Index para configurar seu índice.
Na seção Field Mappings, clique em Add Field Mapping 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 Number.
Configure as propriedades do campo para o tipo
number
. Para saber mais, consulte Propriedades do campo.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 } } } }
Configurar propriedades de campo do number
O tipo Atlas Search number
tem os seguintes parâmetros:
Nome do campo UI | JSON Option | Tipo | necessidade | Descrição | Default |
---|---|---|---|---|---|
Data Type |
| string | Obrigatório | Etiqueta legível por humanos que identifica este tipo de campo. O valor deve ser | |
Representation |
| string | Opcional | Tipo de dados do campo a indexar. Os valores são:
Para saber mais, consulte exemplo abaixo. |
|
Index Integers |
| booleano | Opcional | Sinalizador que indica se deve indexar ou omitir a indexação |
|
Index Doubles |
| booleano | Opcional | Sinalizador que indica se indexar ou omitir |
|
Experimente um exemplo para o tipo number
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
.
Na janela Add Field Mapping, selecione account_id no menu suspenso Field Name.
Clique no menu suspenso Data Type e selecione Number.
Modifique o Number Properties para definir o seguinte:
Representation para
int64
.Index Integers para
true
.Index Doubles para
true
.
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
.
Na janela Add Field Mapping, selecione account_id no menu suspenso Field Name.
Clique no menu suspenso Data Type e selecione Number.
Modifique o Number Properties para definir o seguinte:
Representation para
int64
.Index Integers para
true
.Index Doubles para
false
.
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
.
Na janela Add Field Mapping, selecione bathrooms no menu suspenso Field Name.
Clique no menu suspenso Data Type e selecione Number.
Modifique o Number Properties para definir o seguinte:
Representation para
doubles
.Index Integers para
false
.Index Doubles para
true
.
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 } } } }