You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Peter Johnson d3cd14e304 disable focus for single token queries, use constant_score for ngrams matching 8 years ago
bin Handle fatal errors in unit tests 9 years ago
controller Add custom access_log handlers that remove user info 9 years ago
helper Merge pull request #542 from pelias/respect_privacy_headers 9 years ago
middleware Add custom access_log handlers that remove user info 9 years ago
public Add link to WOF license file 9 years ago
query disable focus for single token queries, use constant_score for ngrams matching 8 years ago
routes Redirect to /v1 if no legacy proxy specified 9 years ago
sanitiser allow single non-numeric chars, change boost_mode to 'replace' for function_score queries 8 years ago
service Filter source and layer by new fields 9 years ago
src Pass esclient config to elasticsearch module 9 years ago
test disable focus for single token queries, use constant_score for ngrams matching 8 years ago
.gitignore Add pids directory to gitignore 9 years ago
.jshintignore remove code-climate hooks 10 years ago
.jshintrc adding jshintignore and jshintrc, pre commit hook js lint 10 years ago
.lgtm Add LGTM config 9 years ago
.travis.yml Update travis versions 9 years ago
Dockerfile add default config 9 years ago
README.md Reorganize Readme header 9 years ago
app.js Return an object from access_log module 9 years ago
circle.yml fix circle deployments 9 years ago
index.js run webserver on all available cores, resolves #6 9 years ago
package.json resolve rebase conflict 9 years ago
pelias.json.docker add default config 9 years ago

README.md

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.

![Gitter](https://badges.gitter.im/Join Chat.svg) Build Status

Documentation

See the Mapzen Search documentation.

Install Dependencies

npm install

scripts

The API ships with several convenience commands (runnable via npm):

  • npm start: start the server
  • npm test: run unit tests
  • npm run ciao: run functional tests (this requires that the server be running)
  • npm run docs: generate API documentation
  • npm run coverage: generate code coverage reports

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 the morgan package. Defaults to "common"; if set to false, or an otherwise falsy value, disables access-logging entirely.

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 test

HTTP 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 ciao

Note: 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.js

You can confirm the dummy data has been inserted with the command:

$ curl localhost:9200/pelias/_count?pretty
{
  "count" : 9,
  ...
}