ਵਿੱਚ ਭੂ-ਸਥਾਨ ਖੋਜ ਦੀ ਜਾਣ-ਪਛਾਣ Elasticsearch

ਸਭ ਤੋਂ ਪਹਿਲਾਂ, ਤੁਹਾਨੂੰ Elasticsearch ਆਪਣੇ ਸਰਵਰ 'ਤੇ ਸਥਾਪਤ ਕਰਨ ਜਾਂ ਕਲਾਉਡ-ਅਧਾਰਤ Elasticsearch ਸੇਵਾ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਹੈ ਜਿਵੇਂ ਕਿ ਇਲਾਸਟਿਕ ਕਲਾਉਡ. ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਸੀਂ Elasticsearch ਜੀਓਪੁਆਇੰਟ ਪਲੱਗਇਨ ਦੇ ਨਾਲ ਇੱਕ ਅਨੁਕੂਲ ਸੰਸਕਰਣ ਸਥਾਪਤ ਕੀਤਾ ਹੈ।

 

ਜੀਓਪੁਆਇੰਟ ਪਲੱਗਇਨ ਨੂੰ ਸਥਾਪਿਤ ਅਤੇ ਕੌਂਫਿਗਰ ਕਰੋ

Elasticsearch ਜੀਓਪੁਆਇੰਟ ਪਲੱਗਇਨ ਰਾਹੀਂ ਭੂ-ਸਥਾਨ ਖੋਜ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ। ਇਸ ਪਲੱਗਇਨ ਨੂੰ ਸਥਾਪਿਤ ਕਰਨ ਲਈ, ਤੁਸੀਂ Elasticsearch ਪਲੱਗਇਨ ਪ੍ਰਬੰਧਨ ਟੂਲ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ।

ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਤੁਸੀਂ Elasticsearch ਸੰਸਕਰਣ 7.x ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਜੀਓਪੁਆਇੰਟ ਪਲੱਗਇਨ ਨੂੰ ਸਥਾਪਿਤ ਕਰਨ ਲਈ ਹੇਠਾਂ ਦਿੱਤੀ ਕਮਾਂਡ ਚਲਾ ਸਕਦੇ ਹੋ:

bin/elasticsearch-plugin install ingest-geoip

ਜੀਓਪੁਆਇੰਟ ਪਲੱਗਇਨ ਨੂੰ ਸਥਾਪਿਤ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਤੁਹਾਨੂੰ ਉਸ ਖੇਤਰ ਲਈ "ਜੀਓ_ਪੁਆਇੰਟ" ਡੇਟਾ ਕਿਸਮ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਆਪਣੇ ਸੂਚਕਾਂਕ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਜਿਸ ਵਿੱਚ ਭੂ-ਸਥਾਨ ਜਾਣਕਾਰੀ ਹੋਵੇਗੀ। ਅਜਿਹਾ ਕਰਨ ਲਈ, ਤੁਸੀਂ ਜਾਂ ਤਾਂ ਮੌਜੂਦਾ ਇੰਡੈਕਸ ਦੀ ਮੈਪਿੰਗ ਨੂੰ ਸੰਪਾਦਿਤ ਕਰ ਸਕਦੇ ਹੋ ਜਾਂ ਕੌਂਫਿਗਰ ਕੀਤੀ ਮੈਪਿੰਗ ਨਾਲ ਇੱਕ ਨਵਾਂ ਇੰਡੈਕਸ ਬਣਾ ਸਕਦੇ ਹੋ।

 

ਮੈਪਿੰਗ ਵਿੱਚ ਜਿਓਲੋਕੇਸ਼ਨ ਫੀਲਡ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ

ਆਪਣੇ ਸੂਚਕਾਂਕ ਵਿੱਚ ਭੂ-ਸਥਾਨ ਖੇਤਰ ਨੂੰ ਸ਼ਾਮਲ ਕਰੋ ਅਤੇ ਉਸ ਖੇਤਰ ਲਈ ਮੈਪਿੰਗ ਨੂੰ ਸੰਪਾਦਿਤ ਕਰੋ। ਭੂ-ਸਥਾਨ ਖੇਤਰ ਆਮ ਤੌਰ 'ਤੇ "geo_point" ਡਾਟਾ ਕਿਸਮ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਮੈਪਿੰਗ ਭੂ-ਸਥਾਨ ਖੇਤਰ ਲਈ ਗੁਣਾਂ ਅਤੇ ਵਿਕਲਪਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੇਗੀ, ਜਿਵੇਂ ਕਿ ਕੋਆਰਡੀਨੇਟਸ ਦੀ ਸ਼ੁੱਧਤਾ, ਫਾਰਮੈਟ ਅਤੇ ਹੋਰ।

ਉਦਾਹਰਨ:

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

 

ਡਾਟਾ ਸੰਪਾਦਿਤ ਕਰੋ

ਆਪਣੇ ਦਸਤਾਵੇਜ਼ਾਂ ਵਿੱਚ ਭੂ-ਸਥਾਨ ਜਾਣਕਾਰੀ ਸ਼ਾਮਲ ਕਰੋ। ਆਮ ਤੌਰ 'ਤੇ, ਭੂ-ਸਥਾਨ ਜਾਣਕਾਰੀ ਨੂੰ ਇੱਕ ਜੋੜੀ longitude ਅਤੇ latitude ਧੁਰੇ ਦੇ ਰੂਪ ਵਿੱਚ ਦਰਸਾਇਆ ਜਾਂਦਾ ਹੈ। ਤੁਸੀਂ ਇਹ ਜਾਣਕਾਰੀ Google Maps API ਜਾਂ ਹੋਰ ਭੂ-ਸਥਾਨ ਡੇਟਾ ਸਰੋਤਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਉਪਭੋਗਤਾਵਾਂ ਤੋਂ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ।

ਉਦਾਹਰਨ:

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

 

ਭੂ-ਸਥਾਨ ਖੋਜ ਕਰੋ

ਹੁਣ ਜਦੋਂ ਤੁਹਾਡੇ ਕੋਲ ਤੁਹਾਡੇ Elasticsearch ਸੂਚਕਾਂਕ ਵਿੱਚ ਭੂ-ਸਥਾਨ ਡੇਟਾ ਹੈ, ਤੁਸੀਂ ਕਿਸੇ ਖਾਸ ਸਥਾਨ ਦੇ ਨੇੜੇ ਜਾਂ ਕਿਸੇ ਖਾਸ ਭੂਗੋਲਿਕ ਸੀਮਾ ਦੇ ਅੰਦਰ ਦਸਤਾਵੇਜ਼ਾਂ ਨੂੰ ਲੱਭਣ ਲਈ ਭੂ-ਸਥਾਨ ਖੋਜ ਪੁੱਛਗਿੱਛ ਕਰ ਸਕਦੇ ਹੋ। ਭੂ-ਸਥਾਨ ਖੋਜ ਕਰਨ ਲਈ, ਤੁਸੀਂ Elasticsearch geo_distance, geo_bounding_box, geo_polygon, ਆਦਿ ਵਰਗੀਆਂ ਸੰਬੰਧਿਤ ਪੁੱਛਗਿੱਛਾਂ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ।

ਉਦਾਹਰਨ: 5km ਦੇ ਘੇਰੇ ਵਿੱਚ ਧੁਰੇ(21.03405, 105.81507) ਦੇ ਨੇੜੇ ਟਿਕਾਣੇ ਲੱਭੋ।

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

 

ਏਕੀਕ੍ਰਿਤ Google Maps

ਜੇਕਰ ਤੁਸੀਂ ਉਪਭੋਗਤਾਵਾਂ ਤੋਂ ਭੂ-ਸਥਾਨ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ Google Maps ਇਸ ਨਾਲ ਏਕੀਕ੍ਰਿਤ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ Elasticsearch, ਤਾਂ ਤੁਸੀਂ Google Maps API ਉਪਯੋਗਕਰਤਾਵਾਂ ਦੁਆਰਾ ਚੁਣੇ ਗਏ ਪਤੇ ਜਾਂ ਸਥਾਨ ਦੇ ਆਧਾਰ 'ਤੇ ਲੰਬਕਾਰ ਅਤੇ ਵਿਥਕਾਰ ਕੋਆਰਡੀਨੇਟਸ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ। ਫਿਰ, ਤੁਸੀਂ ਇਸ ਜਾਣਕਾਰੀ ਦੀ ਵਰਤੋਂ ਆਪਣੇ ਸੂਚਕਾਂਕ ਵਿੱਚ ਭੂ-ਸਥਾਨ ਡੇਟਾ ਨੂੰ ਜੋੜਨ Elasticsearch ਅਤੇ ਭੂ-ਸਥਾਨ ਖੋਜ ਪੁੱਛਗਿੱਛ ਕਰਨ ਲਈ ਕਰ ਸਕਦੇ ਹੋ।

ਸਿੱਟੇ ਵਜੋਂ, Google Maps ਨਾਲ ਏਕੀਕ੍ਰਿਤ ਕਰਨਾ Elasticsearch ਤੁਹਾਨੂੰ ਤੁਹਾਡੇ ਡੇਟਾ ਵਿੱਚ ਭੂ-ਸਥਾਨ ਖੋਜ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦਾ ਲਾਭ ਲੈਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ, ਭੂ-ਸਥਾਨ ਜਾਣਕਾਰੀ ਦੇ ਅਧਾਰ 'ਤੇ ਸਹੀ ਅਤੇ ਕੁਸ਼ਲ ਖੋਜ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ।