Réamhrá le Cuardach Geolocation i Elasticsearch

Ar an gcéad dul síos, ní mór duit a shuiteáil Elasticsearch ar do fhreastalaí nó Elasticsearch seirbhís scamall-bhunaithe a úsáid mar Elastic Cloud. Cinntigh go suiteálann tú leagan comhoiriúnach de Elasticsearch leis an mbreiseán GeoPoint.

 

Suiteáil agus Cumraigh an Breiseán GeoPoint

Elasticsearch tacaíonn sé le cuardach geolocation tríd an mbreiseán GeoPoint. Chun an breiseán seo a shuiteáil, is féidir leat an Elasticsearch uirlis bainistíochta breiseán a úsáid.

Elasticsearch Mar shampla, má tá leagan 7.x á úsáid agat, is féidir leat an t-ordú seo a leanas a rith chun an breiseán GeoPoint a shuiteáil:

bin/elasticsearch-plugin install ingest-geoip

Tar éis duit an breiseán GeoPoint a shuiteáil, ní mór duit d'innéacs a chumrú chun an cineál sonraí "geo_point" a úsáid don réimse a choinneoidh an fhaisnéis geolocation. Chun seo a dhéanamh, is féidir leat léarscáiliú innéacs atá ann cheana a chur in eagar nó innéacs nua a chruthú leis an léarscáiliú cumraithe.

 

Sainmhínigh an Réimse Geolocation sa Mhapáil

Cuir an réimse geolocation le d'innéacs agus cuir an léarscáiliú don réimse sin in eagar. Úsáideann an réimse geolocation an cineál sonraí "geo_point" de ghnáth. Saineoidh an léarscáiliú na tréithe agus na roghanna don réimse geolocation, amhail beachtas na gcomhordanáidí, formáid, agus go leor eile.

Sampla:

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

 

Cuir Sonraí in Eagar

Cuir faisnéis geolocation le do dhoiciméid. Go hiondúil, léirítear faisnéis geolocation mar phéire longitude agus mar latitude chomhordanáidí. Is féidir leat an fhaisnéis seo a fháil ó úsáideoirí ag baint úsáide as Google Maps API foinsí sonraí geolocation nó eile.

Sampla:

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

 

Déan Cuardach Geolocation

Anois go bhfuil sonraí geolocation agat i d’ Elasticsearch innéacs, is féidir leat fiosruithe cuardaigh geolocation a dhéanamh chun doiciméid a aimsiú in aice le suíomh ar leith nó laistigh de raon geografach áirithe. Chun cuardach geoshuímh a dhéanamh, is féidir leat Elasticsearch ceisteanna comhfhreagracha a úsáid mar geo_distance, geo_bounding_box, geo_polygon, etc.

Sampla: Faigh láithreacha in aice leis na comhordanáidí(21.03405, 105.81507) laistigh de gha 5km.

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

 

Comhtháthú Google Maps

Más mian leat comhtháthú a dhéanamh Google Maps leis Elasticsearch chun faisnéis geolocation a fháil ó úsáideoirí, is féidir leat úsáid a bhaint as na Google Maps API comhordanáidí domhanfhad agus domhanleithead a aisghabháil bunaithe ar sheoladh nó ar shuíomh atá roghnaithe ag úsáideoirí. Ansin, is féidir leat an fhaisnéis seo a úsáid chun sonraí geolocation a chur le d' Elasticsearch innéacs agus chun fiosrúcháin chuardaigh geoshuímh a dhéanamh.

Mar fhocal scoir, ceadaíonn comhtháthú Google Maps le Elasticsearch gnéithe cuardaigh geoshuímh a ghiaráil i do shonraí, rud a chumasaíonn cuardach cruinn agus éifeachtach bunaithe ar fhaisnéis geoshuímh.