See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 15452|Vastuse: 0

[Allikas] Java geolokatsiooni info ElasticSearchis (geo_point)

[Kopeeri link]
Postitatud 09.01.2019 17:25:39 | | |
Lühike sissejuhatus

Me teame, et ES toetab mitmesuguseid andmetüüpe, lisaks tavapärastele põhiandmetüüpidele toetab see ka andmetüüpe, mis salvestavad asukohaandmeid. ES-is on kaks tüüpi andmeid, mis salvestavad geolokatsiooniinfot: geo_shap ja geo_point, ning allpool tutvustan lühidalt geo_point tüüpi
geo_point toetab mitut andmeedastusmeetodit:

string
Asukoht: laius + "," + lon

massiiv
Asukoht: {"lat": ...,"lon": ...}

Eesmärk
Asukoht: [lon, laius]


Märkus: Tõenäoliselt on kõik vähemalt korra sellele augule astunud == Geograafilised koordinaatpunktid on laiuskraad esimesena ja pikkuskraad viimane ("laiuskraad, pikkuskraad"), kui väljendada stringidena, samas kui massiivid on esitatud vastupidises vormis, kus pikkuskraad on esmalt ja laiuskraad viimane ([pikkuskraad, laiuskraad]). Tegelikult on Elasticesearchi raames, olgu see siis stringi või massiivi kujul, laiuskraad esimesena ja pikkuskraad viimasena. Kuid varajastel aegadel, et kohanduda GeoJSONi vormindusspetsifikatsiooniga, kohandati massiivivormide esitust. Seda selgitatakse ametlikul veebilehel.
Üldiselt on järgmised päringunõuded geo_point tüüpide kohta

Kauguse päring
Leia punktid vahemikus keskpunktist

kauguse ulatuse päring (aegunud)
Päringupunktid keskpunkti määratud vahemikus eemaldatakse API-st uues ES-i versioonis, seega ma ei hakka seda siin liiga palju selgitama
Piirav päring
Leia punktid ristkülikus, mis koosneb kindlast punktist

Hulknurgapäring
Leia punktid hulknurgast, mis koosneb mitmest punktist

Java erinevate päringute jaoks loodud SearchSourceBuilderi tehas on järgmine:


Teenistus on järgmine:

Kontrolleri kihi kood on järgmine:

[1]. Kuidas kasutada

Enne geo_point tüüpide kasutamist peaksime esmalt määratlema välja geo_point tüübina kaardistamise kaudu indeksi loomisel, järgmiselt:


Ülal oleme loonud uue indeksi nimega restraunt ning selle kaardistamisfailis määratleme "asukoha" välja tüübi "geo_point"

[2] Valmistage ette andmeid

Kibana kohta oleme koostanud järgmised andmed:


Oleme eelnevalt ette valmistanud 7 andmetükki ja seejärel peame päringu käivitama, et näha, kas meie liides vastab meie vajadustele.

[3] Uurimine

Päringukaugus


Teised kaks päringut on samad mis eelnevalt.




Eelmine:ElasticsearchParseException[field peab olema kas [lat], [lon] või [geohash]]
Järgmine:Discuz installib rakenduse ja ütleb "Data ei ole tuvastatud, palun tagasta" lahendus
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com