Introduzzjoni għat-Tiftix tal-Ġeolokalizzazzjoni fi Elasticsearch

L-ewwelnett, trid tinstalla Elasticsearch fuq is-server tiegħek jew tuża Elasticsearch servizz ibbażat fuq il-cloud bħal Elastic Cloud. Kun żgur li tinstalla verżjoni kompatibbli ta' Elasticsearch mal-plugin GeoPoint.

 

Installa u Ikkonfigura l-Plugin GeoPoint

Elasticsearch jappoġġja t-tfittxija tal-ġeolokazzjoni permezz tal-plugin GeoPoint. Biex tinstalla dan il-plugin, tista 'tuża l- Elasticsearch għodda ta' ġestjoni tal-plugin.

Pereżempju, jekk qed tuża Elasticsearch l-verżjoni 7.x, tista' tħaddem il-kmand li ġej biex tinstalla l-plugin GeoPoint:

bin/elasticsearch-plugin install ingest-geoip

Wara li tinstalla l-plugin GeoPoint, għandek bżonn tikkonfigura l-indiċi tiegħek biex tuża t-tip tad-dejta "geo_point" għall-qasam li se jżomm l-informazzjoni dwar il-ġeolokazzjoni. Biex tagħmel dan, tista 'jew teditja l-immappjar ta' indiċi eżistenti jew toħloq indiċi ġdid bl-immappjar konfigurat.

 

Iddefinixxi l-Qasam tal-Ġeolokalizzazzjoni fl-Immappjar

Żid il-qasam tal-ġeolokazzjoni mal-indiċi tiegħek u editja l-immappjar għal dak il-qasam. Il-qasam tal-ġeolokazzjoni tipikament juża t-tip ta' dejta "geo_point". L-immappjar se jiddefinixxi l-attributi u l-għażliet għall-qasam tal-ġeolokazzjoni, bħall-preċiżjoni tal-koordinati, il-format, u aktar.

Eżempju:

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

 

Editja Dejta

Żid informazzjoni dwar il-ġeolokalizzazzjoni mad-dokumenti tiegħek. Tipikament, l-informazzjoni dwar il-ġeolokazzjoni hija rappreżentata bħala par ta' longitude u latitude koordinati. Tista' tikseb din l-informazzjoni mingħand l-utenti billi tuża s- Google Maps API sorsi tad-dejta jew il-ġeolokalizzazzjoni oħra.

Eżempju:

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

 

Wettaq Tiftix ta' Ġeolokalizzazzjoni

Issa li għandek dejta dwar il-ġeolokazzjoni fl Elasticsearch -indiċi tiegħek, tista' twettaq mistoqsijiet ta' tfittxija ta' ġeolokazzjoni biex issib dokumenti qrib post speċifiku jew f'ċerta firxa ġeografika. Biex twettaq tfittxija ta' ġeolokalizzazzjoni, tista' tuża Elasticsearch l-mistoqsijiet korrispondenti ta' bħal geo_distance, geo_bounding_box, geo_polygon, eċċ.

Eżempju: Sib postijiet ħdejn il-koordinati(21.03405, 105.81507) f'raġġ ta' 5km.

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

 

Integra Google Maps

Jekk trid tintegra Google Maps biex Elasticsearch tikseb informazzjoni dwar il-ġeolokalizzazzjoni mill-utenti, tista' tuża l- Google Maps API biex tirkupra l-koordinati tal-lonġitudni u l-latitudni bbażati fuq indirizz jew post magħżul mill-utenti. Imbagħad, tista’ tuża din l-informazzjoni biex iżżid id-dejta tal-ġeolokalizzazzjoni mal- Elasticsearch indiċi tiegħek u twettaq mistoqsijiet ta’ tfittxija ta’ ġeolokalizzazzjoni.

Bħala konklużjoni, l-integrazzjoni Google Maps ma Elasticsearch tippermettilek li tisfrutta l-karatteristiċi tat-tiftix tal-ġeolokalizzazzjoni fid-dejta tiegħek, li tippermetti tiftix preċiż u effiċjenti bbażat fuq informazzjoni dwar il-ġeolokalizzazzjoni.