میں جغرافیائی محل وقوع تلاش کا تعارف Elasticsearch

Elasticsearch سب سے پہلے، آپ کو اپنے سرور پر انسٹال کرنے یا Elasticsearch ایلاسٹک کلاؤڈ جیسی کلاؤڈ بیسڈ سروس استعمال کرنے کی ضرورت ہے۔ Elasticsearch یقینی بنائیں کہ آپ جیوپوائنٹ پلگ ان کے ساتھ مطابقت پذیر ورژن انسٹال کرتے ہیں ۔

 

جیوپوائنٹ پلگ ان انسٹال اور کنفیگر کریں۔

Elasticsearch جیوپوائنٹ پلگ ان کے ذریعے جغرافیائی محل وقوع کی تلاش کی حمایت کرتا ہے۔ اس پلگ ان کو انسٹال کرنے کے لیے، آپ Elasticsearch پلگ ان مینجمنٹ ٹول استعمال کر سکتے ہیں۔

مثال کے طور پر، اگر آپ Elasticsearch ورژن 7.x استعمال کر رہے ہیں، تو آپ GeoPoint پلگ ان کو انسٹال کرنے کے لیے درج ذیل کمانڈ چلا سکتے ہیں:

bin/elasticsearch-plugin install ingest-geoip

جیوپوائنٹ پلگ ان انسٹال کرنے کے بعد، آپ کو اس فیلڈ کے لیے "geo_point" ڈیٹا کی قسم استعمال کرنے کے لیے اپنے انڈیکس کو کنفیگر کرنا ہوگا جس میں جغرافیائی محل وقوع کی معلومات ہو گی۔ ایسا کرنے کے لیے، آپ یا تو موجودہ انڈیکس کی میپنگ میں ترمیم کر سکتے ہیں یا کنفیگر شدہ میپنگ کے ساتھ ایک نیا انڈیکس بنا سکتے ہیں۔

 

میپنگ میں جغرافیائی محل وقوع کی وضاحت کریں۔

اپنے انڈیکس میں جغرافیائی محل وقوع کا فیلڈ شامل کریں اور اس فیلڈ کے لیے میپنگ میں ترمیم کریں۔ جغرافیائی محل وقوع کا فیلڈ عام طور پر "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 وغیرہ استعمال کرسکتے ہیں ۔

مثال: 5 کلومیٹر کے دائرے میں نقاط(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 آپ کو اپنے ڈیٹا میں جغرافیائی محل وقوع کی تلاش کی خصوصیات سے فائدہ اٹھانے کی اجازت دیتا ہے، جغرافیائی محل وقوع کی معلومات کی بنیاد پر درست اور موثر تلاش کو قابل بناتا ہے۔