புவிஇருப்பிடத் தேடலுக்கான அறிமுகம் Elasticsearch

Elasticsearch முதலில், உங்கள் சர்வரில் நிறுவ வேண்டும் அல்லது Elasticsearch எலாஸ்டிக் கிளவுட் போன்ற கிளவுட் அடிப்படையிலான சேவையைப் பயன்படுத்த வேண்டும். Elasticsearch GeoPoint செருகுநிரலுடன் இணக்கமான பதிப்பை நிறுவுவதை உறுதிசெய்யவும் .

 

ஜியோபாயிண்ட் செருகுநிரலை நிறுவி கட்டமைக்கவும்

Elasticsearch GeoPoint செருகுநிரல் மூலம் புவிஇருப்பிட தேடலை ஆதரிக்கிறது. இந்த செருகுநிரலை நிறுவ, நீங்கள் Elasticsearch செருகுநிரல் மேலாண்மை கருவியைப் பயன்படுத்தலாம்.

உதாரணமாக, நீங்கள் Elasticsearch பதிப்பு 7.x ஐப் பயன்படுத்துகிறீர்கள் என்றால், GeoPoint செருகுநிரலை நிறுவ பின்வரும் கட்டளையை இயக்கலாம்:

bin/elasticsearch-plugin install ingest-geoip

GeoPoint செருகுநிரலை நிறுவிய பின், புவிஇருப்பிடத் தகவலை வைத்திருக்கும் புலத்திற்கான "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