Security News
JavaScript Leaders Demand Oracle Release the JavaScript Trademark
In an open letter, JavaScript community leaders urge Oracle to give up the JavaScript trademark, arguing that it has been effectively abandoned through nonuse.
pelias-schema
Advanced tools
Pelias is a geocoder powered completely by open data, available freely to everyone.
Local Installation · Cloud Webservice · Documentation · Community Chat
This package defines the Elasticsearch schema used by Pelias. Pelias requires quite a few settings for performance and accuracy. This repository contains those settings as well as useful tools to ensure they are applied correctly.
See Pelias Software requirements for general Pelias requirements.
$ npm install pelias-schema
./bin/create_index # quick start
node scripts/drop_index.js # drop everything
node scripts/drop_index.js --force-yes # skip warning prompt
This is useful when you want to add a new analyser or filter to an existing index.
note: it is impossible to change the number_of_shards
for an existing index, this will require a full re-index.
node scripts/update_settings.js # update index settings
Use this script to pretty-print the schema's mappings to stdout.
node scripts/output_mapping.js
Print a list of which plugins are installed and how to install any that are missing.
node scripts/check_plugins.js
pelias.json
Like the rest of Pelias, the Pelias schema can be configured through a pelias.json
file read by pelias-config.
schema.indexName
This allows configuring the name of the index created in Elasticsearch. The default is pelias
.
Note: All Pelias importers also use this configuration value to determine what index to write to. Additionally, the Pelias API uses the related api.indexName
parameter to determine where to read from.
You may provide your own custom synonyms by editing files in the ./synonyms/
directory.
$ ls -1 synonyms/custom_*
synonyms/custom_admin.txt
synonyms/custom_name.txt
synonyms/custom_street.txt
You must edit the files before running create_index.js
, any changes made to the files will require you to drop and recreate the index before those synonyms are available.
Synonyms are only used at index-time. The filename contains the name of the elasticsearch field which the synonyms will apply. ie. custom_name
will apply to the name.*
fields, custom_street
will apply to the address_parts.name
field and custom_admin
will apply to the parent.*
fields.
see: https://github.com/pelias/schema/pull/273 for more info.
With great power comes great responsibility. Synonyms files are often used as a hammer when a scalpel is required. Please take care with their use and make maintainers aware that you are using custom synonyms when you open support tickets.
The pelias-schema
npm module can be found here:
https://npmjs.org/package/pelias-schema
You can pull down a versioned copy of the pelias schema from npm:
var schema = require('pelias-schema');
console.log( JSON.stringify( schema, null, 2 ) );
Please fork and pull request against upstream master on a feature branch.
Pretty please; provide unit tests and script fixtures in the test
directory.
$ npm test
Requires a running elasticsearch server (no other setup required)
$ npm run integration
Download the image and start an elasticsearch docker container:
$ docker run --rm --name elastic-test -p 9200:9200 pelias/elasticsearch:7.5.1
CI tests every release against all supported Node.js versions.
FAQs
Elasticsearch schema files and tooling for Pelias
We found that pelias-schema demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
In an open letter, JavaScript community leaders urge Oracle to give up the JavaScript trademark, arguing that it has been effectively abandoned through nonuse.
Security News
The initial version of the Socket Python SDK is now on PyPI, enabling developers to more easily interact with the Socket REST API in Python projects.
Security News
Floating dependency ranges in npm can introduce instability and security risks into your project by allowing unverified or incompatible versions to be installed automatically, leading to unpredictable behavior and potential conflicts.