માં ભૌગોલિક સ્થાન શોધનો પરિચય Elasticsearch

સૌપ્રથમ, તમારે Elasticsearch તમારા સર્વર પર ઇન્સ્ટોલ કરવાની અથવા Elasticsearch ઇલાસ્ટિક ક્લાઉડ જેવી ક્લાઉડ-આધારિત સેવાનો ઉપયોગ કરવાની જરૂર છે. Elasticsearch ખાતરી કરો કે તમે 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 તમે તમારા ડેટામાં ભૌગોલિક સ્થાન શોધ સુવિધાઓનો લાભ મેળવી શકો છો, ભૌગોલિક સ્થાન માહિતીના આધારે સચોટ અને કાર્યક્ષમ શોધને સક્ષમ કરી શકો છો.