Hyrje në kërkimin e vendndodhjes në Elasticsearch

Së pari, duhet të instaloni Elasticsearch në serverin tuaj ose të përdorni një Elasticsearch shërbim të bazuar në cloud si Elastic Cloud. Sigurohuni që të instaloni një version të pajtueshëm Elasticsearch me shtojcën GeoPoint.

 

Instaloni dhe konfiguroni shtojcën GeoPoint

Elasticsearch mbështet kërkimin e vendndodhjes përmes shtojcës GeoPoint. Për të instaluar këtë shtojcë, mund të përdorni Elasticsearch mjetin e menaxhimit të shtojcave.

Për shembull, nëse jeni duke përdorur Elasticsearch versionin 7.x, mund të ekzekutoni komandën e mëposhtme për të instaluar shtojcën GeoPoint:

bin/elasticsearch-plugin install ingest-geoip

Pas instalimit të shtojcës GeoPoint, duhet të konfiguroni indeksin tuaj për të përdorur llojin e të dhënave "geo_point" për fushën që do të mbajë informacionin e vendndodhjes. Për ta bërë këtë, ose mund të modifikoni hartën e një indeksi ekzistues ose të krijoni një indeks të ri me hartën e konfiguruar.

 

Përcaktoni fushën e gjeolokacionit në harta

Shtoni fushën e vendndodhjes në indeksin tuaj dhe modifikoni hartën për atë fushë. Fusha e gjeolokacionit zakonisht përdor llojin e të dhënave "geo_point". Hartëzimi do të përcaktojë atributet dhe opsionet për fushën e vendndodhjes, siç është saktësia e koordinatave, formati dhe më shumë.

Shembull:

PUT /my_locations_index  
{  
  "mappings": {  
    "properties": {  
      "location": {  
        "type": "geo_point"  
      }  
    }  
  }  
}  

 

Redakto të dhënat

Shtoni informacionin e vendndodhjes në dokumentet tuaja. Në mënyrë tipike, informacioni i vendndodhjes gjeografike përfaqësohet si një palë longitude dhe latitude koordinata. Ju mund ta merrni këtë informacion nga përdoruesit duke përdorur Google Maps API burimet e të dhënave të vendndodhjes gjeografike ose të tjera.

Shembull:

PUT /my_locations_index/_doc/1  
{  
  "name": "Ba Dinh Square",  
  "location": {  
    "lat": 21.03405,  
    "lon": 105.81507  
  }  
}  

 

Kryeni kërkimin e vendndodhjes

Tani që keni të dhëna për vendndodhjen në Elasticsearch indeksin tuaj, mund të kryeni pyetje kërkimi për vendndodhjen për të gjetur dokumente pranë një vendndodhjeje specifike ose brenda një diapazoni të caktuar gjeografik. Për të kryer një kërkim gjeolokacioni, mund të përdorni Elasticsearch pyetjet përkatëse të "geo_distance", geo_bounding_box, geo_polygon, etj.

Shembull: Gjeni vendndodhje pranë koordinatave(21.03405, 105.81507) brenda një rrezeje prej 5 km.

GET /my_locations_index/_search  
{  
  "query": {  
    "geo_distance": {  
      "distance": "5km",  
      "location": {  
        "lat": 21.03405,  
        "lon": 105.81507  
      }  
    }  
  }  
}  

 

Integro Google Maps

Nëse dëshironi të integroheni Google Maps me Elasticsearch për të marrë informacionin e vendndodhjes gjeografike nga përdoruesit, mund të përdorni Google Maps API për të marrë koordinatat e gjatësisë dhe gjerësisë gjeografike bazuar në një adresë ose një vendndodhje të zgjedhur nga përdoruesit. Më pas, mund ta përdorni këtë informacion për të shtuar të dhënat e vendndodhjes në Elasticsearch indeksin tuaj dhe për të kryer pyetjet e kërkimit të vendndodhjes.

Si përfundim, integrimi Google Maps me Elasticsearch ju lejon të përdorni veçoritë e kërkimit të vendndodhjes në të dhënat tuaja, duke mundësuar kërkim të saktë dhe efikas bazuar në informacionin e vendndodhjes.