जियोलोकेशन खोजको परिचय 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"  
      }  
    }  
  }  
}  

 

डाटा सम्पादन गर्नुहोस्

तपाईंको कागजातहरूमा भौगोलिक स्थान जानकारी थप्नुहोस्। सामान्यतया, भौगोलिक स्थान जानकारी एक जोडी longitudelatitude समन्वयको रूपमा प्रतिनिधित्व गरिन्छ। तपाईले यो जानकारी प्रयोगकर्ताहरूबाट 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 तपाईलाई तपाईको डेटामा भौगोलिक स्थान खोज सुविधाहरूको लाभ उठाउन अनुमति दिन्छ, जियोलोकेशन जानकारीको आधारमा सही र कुशल खोजी सक्षम पार्दै।