This is the open-source geocoder built on top of ElasticSearch for fast geocoding and providing better search for CIS countries.
You could find more information about Ariadna designing in our blog.
Geocoding is the process of transforming input text, such as an address, or a name of a place—to a location on the earth's surface.
- Street + housenumber;
- Road intersections;
- Points of interest;
- Microdictricts;
- Addresses in microdistricts;
- Nearest villages and towns;
- Search with auto replace from dictionary;
- Reverse geocoding.
Reverse geocoding is the opposite, it transforms your current geographic location in to a list of places nearby.
- ElasticSearch
go get -u github.com/maddevsio/ariadna
go run main.go
You can use json or yaml files for configuration. Configuration example shown below.
cat ariadna.yml
--- elastic_index: addresses # index name for elasticsearch
elastic_urls:
- http://localhost:9200 # array of elasticsearch addresses
osm_filename: kyrgyzstan-latest.osm.pbf # temporary filename for osm.pbf file downloaded from geofabrik
osm_url: http://download.geofabrik.de/asia/kyrgyzstan-latest.osm.pbf # Download url for osm.pdf file
index_settings: index.json # Settings for index
import_country: Кыргызстан # Country name to import
If you'd like to contribute, please fork the repository and make changes as you'd like. Pull requests are warmly welcome.
- Fork it ( https://github.com/maddevsio/ariadna/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request