pelias-api-libpostal v2.2.0
This repository is part of the Pelias project. Pelias is an open-source, open-data geocoder built by Mapzen that also powers Mapzen Search. Our official user documentation is here.
Pelias API Server
This is the API server for the Pelias project. It's the service that runs to process user HTTP requests and return results as GeoJSON by querying Elasticsearch.
(https://badges.gitter.im/Join Chat.svg)

Documentation
See the Mapzen Search documentation.
Install Dependencies
npm installscripts
The API ships with several convenience commands (runnable via npm):
npm start: start the servernpm test: run unit testsnpm run ciao: run functional tests (this requires that the server be running)npm run docs: generate API documentationnpm run coverage: generate code coverage reports
install as a service
The bash script pelias-api contains instructions to start the API as a linux service. It has to be cp to /etc/init.d/pelias-api before launching it like this :
service pelias-api start
pelias-config
The API recognizes the following properties under the top-level api key in your pelias.json config file:
accessLog: (optional) The name of the format to use for access logs; may be any one of the predefined values in themorganpackage. Defaults to"common"; if set tofalse, or an otherwise falsy value, disables access-logging entirely.textAnalyzer: The name of the text analyzer used to parse the search query. This version of the API is overridden to use"libpostal", replacing Addressit parser.
Contributing
Please fork and pull request against upstream master on a feature branch. Pretty please; provide unit tests and script
fixtures in the test directory.
Unit tests
You can run the unit test suite using the command:
$ npm testHTTP tests
We have another set of tests which are used to test the HTTP API layer, these tests send expected HTTP requests and then assert that the responses coming back have the correct geoJSON format and HTTP status codes.
You can run the HTTP test suite using the command:
$ npm run ciaoNote: some of the tests in this suite fail when no data is present in the index, there is a small set of test documents
provided in ./test/ciao_test_data which can be inserted in order to avoid these errors.
To inject dummy data in to your local index:
$ node test/ciao_test_data.jsYou can confirm the dummy data has been inserted with the command:
$ curl localhost:9200/pelias/_count?pretty
{
"count" : 9,
...
}9 years ago