Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 15452|Atbildi: 0

[Avots] Java ģeogrāfiskās atrašanās vietas informācija ElasticSearch (geo_point)

[Kopēt saiti]
Publicēts 09.01.2019 17:25:39 | | |
Īss ievads

Mēs zinām, ka ES atbalsta plašu datu tipu klāstu, papildus mūsu parastajiem pamatdatu tipiem, tas atbalsta arī datu tipus, kas reģistrē atrašanās vietas informāciju. ES ir divu veidu dati, kas reģistrē ģeogrāfiskās atrašanās vietas informāciju, proti, geo_shap un geo_point, un es īsumā iepazīstināšu ar geo_point veidiem tālāk
geo_point atbalsta vairākas datu pārsūtīšanas metodes:

virkne
Amats: lat + "," + lon

masīvs
Pozīcija: {"lat": ...,"lon": ...}

Objekts
Atrašanās vieta: [lon, lat]


Piezīme: Droši vien visi ir uzkāpuši uz šīs bedres vismaz vienu reizi == Ģeogrāfiskie koordinātu punkti ir pirmais platums un pēdējais garums ("platums, garums"), ja tie izteikti kā virknes, bet masīvi tiek attēloti pretējā formā, ar garumu pirmajā un pēdējo platumu ([garums, platums]). Patiesībā Elasticesearch, neatkarīgi no tā, vai tas ir virknes vai masīva formā, platums ir pirmajā vietā un garums ir pēdējais. Tomēr pirmajās dienās, lai pielāgotos GeoJSON formatēšanas specifikācijai, masīva formu attēlojums tika pielāgots. Tas ir izskaidrots oficiālajā vietnē.
Parasti geo_point tipiem ir šādas vaicājumu prasības

attāluma vaicājums
Punktu atrašana diapazonā no centra punkta

Attāluma diapazona vaicājums (novecojis)
Vaicājuma punkti norādītajā centra punkta diapazonā tiek noņemti no API jaunajā ES versijā, tāpēc es to šeit pārāk daudz nepaskaidrošu
Ierobežojošs vaicājums
Punktu atrašana taisnstūrī, kas sastāv no noteikta punkta

Daudzstūra vaicājums
Punktu atrašana daudzstūrī, kas sastāv no vairākiem punktiem

SearchSourceBuilder rūpnīca, kas izveidota dažādiem vaicājumiem Java, ir šāda:


izsniegšana šādi:

Kontroliera slāņa kods ir šāds:

[1]. Kā lietot

Pirms geo_point tipu izmantošanas, veidojot indeksu, vispirms skaidri jānorāda lauks kā geo_point tips, izmantojot kartēšanu, šādi:


Iepriekš mēs esam izveidojuši jaunu indeksu ar nosaukumu restraunt, un tā kartēšanas failā mēs skaidri norādām "atrašanās vietas" lauka veidu kā "geo_point"

[2] Sagatavojiet dažus datus

Par Kibanu mēs esam sagatavojuši šādus datus:


Mēs esam sagatavojuši 7 datu gabalus iepriekš, un pēc tam mums ir jāizpilda vaicājums, lai redzētu, vai mūsu saskarne atbilst mūsu vajadzībām.

[3] Izmeklēšana

Vaicājuma attālums


Pārējie divi jautājumi ir tādi paši kā iepriekš.




Iepriekšējo:ElasticsearchParseException[laukam jābūt [lat], [lon] vai [geohash]]
Nākamo:Discuz instalē lietotni un saka: "Dati netiek atpazīti, lūdzu, atgrieziet" risinājums
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com