मध्ये भौगोलिक स्थान शोधाचा परिचय Elasticsearch

Elasticsearch सर्वप्रथम, तुम्हाला तुमच्या सर्व्हरवर इन्स्टॉल करावे लागेल किंवा Elasticsearch इलास्टिक क्लाउड सारखी क्लाउड-आधारित सेवा वापरावी लागेल. Elasticsearch तुम्ही GeoPoint प्लगइन ची सुसंगत आवृत्ती स्थापित केल्याची खात्री करा .

 

GeoPoint प्लगइन स्थापित आणि कॉन्फिगर करा

Elasticsearch GeoPoint प्लगइनद्वारे भौगोलिक स्थान शोधाचे समर्थन करते. हे प्लगइन स्थापित करण्यासाठी, आपण प्लगइन व्यवस्थापन साधन वापरू शकता 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 इ. सारख्या संबंधित क्वेरी वापरू शकता.

उदाहरण: 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 तुमच्या डेटामधील भौगोलिक स्थान शोध वैशिष्ट्यांचा फायदा घेता येतो, भौगोलिक स्थान माहितीवर आधारित अचूक आणि कार्यक्षम शोध सक्षम करणे.