Como indexar objetos GeoJSON
Nesta página
Você pode utilizar o tipo de Atlas Search geo
para indexar pontos geográficos e coordenadas de forma. Para esse tipo, o campo indexado deve ser um objeto GeoJSON. Você pode usar os operadores geoShape e geoWithin para queries de campos indexados do tipo geo
.
O Atlas Search não indexa dinamicamente campos de índice do tipo geo
. Você deve utilizar mapeamentos estáticos para indexar campos do geo
. Você pode usar o Visual Editor ou o JSON Editor na UI do Atlas para indexar campos do tipo geo
.
Definir o índice para o tipo <a class=\" \" href=\"geo
\" title=\" \"><svg xmlns=\" \" width=\" \" height=\" \" fill=\" \" viewbox=\" \" class=\" \" role=\" \" aria-label=\" \"><path fill=\" \" d=\" \"> <path fill=\" \" d=\" \">
Para definir o índice para o tipo geo
, 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 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 Geo.
Configure as propriedades do campo para o tipo
geo
. Para saber mais, consulte Propriedades do campo.Clique em Add.
A seguir está a sintaxeJSON para o tipo geo
. Substitua a definição de índice padrão pelo seguinte. Para saber mais sobre os campos, consulte Propriedades do campo.
{ "mappings": { "dynamic": false, "fields": { "<field-name>": { "indexShapes": true|false, "type": "geo" } } } }
Configurar geo
propriedades do campo
O tipo geo
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 este tipo de campo. O valor da IU deve ser Geo e o valor JSON deve ser geo . | |
indexShapes | booleano | Opcional | Sinalizador que indica se as formas devem ser indexadas. Por padrão, o Atlas Search:
O valor pode ser:
| false |
Experimente um exemplo para o geo
tipo de
O exemplo de definição de índice a seguir utiliza o sample_irblonb.listingsAndReviews collection. Se você tiver os dados de amostra já carregados no seu agrupamento, você poderá utilizar o Editor Visual ou o Editor JSON na UI do Atlas para configurar o índice. Após selecionar seu método de configuração preferido, selecione o reconhecimento de data center e a collection e filtre seu índice para adicionar mapeamentos de campo.
A definição de índice a seguir indexa o campo address.location
como o tipo geo
para oferecer suporte a query nesse campo usando os operadores geoShape e geoWithin do Atlas Search .
Na janela Add Field Mapping, selecione address.location no menu suspenso Field Name.
Clique no menu suspenso Data Type e selecione Geo.
Modifique o Geo Properties para definir o valor de Index Shapes para
true
.Clique em Add.
Substitua a definição de índice padrão pela seguinte definição de índice.
1 { 2 "mappings": { 3 "fields": { 4 "address": { 5 "type": "document", 6 "fields": { 7 "location": { 8 "indexShapes": true, 9 "type": "geo" 10 } 11 } 12 } 13 } 14 } 15 }