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.