Pambuka kanggo Panelusuran Geolokasi ing Elasticsearch

Kaping pisanan, sampeyan kudu nginstal Elasticsearch ing server utawa nggunakake Elasticsearch layanan berbasis awan kaya Elastic Cloud. Priksa manawa sampeyan nginstal versi kompatibel Elasticsearch karo plugin GeoPoint.

 

Instal lan Konfigurasi Plugin GeoPoint

Elasticsearch ndhukung panelusuran geolokasi liwat plugin GeoPoint. Kanggo nginstal plugin iki, sampeyan bisa nggunakake Elasticsearch alat manajemen plugin.

Contone, yen sampeyan nggunakake Elasticsearch versi 7.x, sampeyan bisa mbukak printah ing ngisor iki kanggo nginstal plugin GeoPoint:

bin/elasticsearch-plugin install ingest-geoip

Sawise nginstal plugin GeoPoint, sampeyan kudu ngonfigurasi indeks kanggo nggunakake jinis data "geo_point" kanggo lapangan sing bakal ngemot informasi geolokasi. Kanggo nindakake iki, sampeyan bisa ngowahi pemetaan indeks sing wis ana utawa nggawe indeks anyar kanthi pemetaan sing wis dikonfigurasi.

 

Netepake Lapangan Geolokasi ing Pemetaan

Tambah kolom geolokasi menyang indeks sampeyan lan owahi pemetaan kanggo lapangan kasebut. Bidang geolokasi biasane nggunakake jinis data "geo_point". Pemetaan bakal nemtokake atribut lan opsi kanggo lapangan geolokasi, kayata presisi koordinat, format, lan liya-liyane.

Tuladha:

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

 

Sunting Data

Tambah informasi geolokasi menyang dokumen sampeyan. Biasane, informasi geolokasi dituduhake minangka pasangan longitude lan latitude koordinat. Sampeyan bisa njupuk informasi iki saka pangguna nggunakake Google Maps API utawa sumber data geolokasi liyane.

Tuladha:

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

 

Tindakake Panelusuran Geolokasi

Saiki sampeyan duwe data geolokasi ing Elasticsearch indeks, sampeyan bisa nindakake pitakon telusuran geolokasi kanggo nemokake dokumen sing cedhak karo lokasi tartamtu utawa ing jarak geografis tartamtu. Kanggo nggoleki geolokasi, sampeyan bisa nggunakake Elasticsearch pitakon sing cocog kaya geo_distance, geo_bounding_box, geo_polygon, lsp.

Conto: Temokake lokasi sing cedhak karo koordinat(21.03405, 105.81507) ing radius 5km.

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

 

Integrasi Google Maps

Yen sampeyan pengin nggabungake Google Maps kanggo Elasticsearch njupuk informasi geolokasi saka pangguna, sampeyan bisa nggunakake Google Maps API kanggo njupuk koordinat bujur lan garis lintang adhedhasar alamat utawa lokasi sing dipilih dening pangguna. Banjur, sampeyan bisa nggunakake informasi iki kanggo nambah data geolokasi menyang Elasticsearch indeks lan nindakake pitakon telusuran geolokasi.

Kesimpulane, nggabungake Google Maps karo Elasticsearch ngidini sampeyan nggunakake fitur telusuran geolokasi ing data sampeyan, ngidini telusuran sing akurat lan efisien adhedhasar informasi geolokasi.