mirror of https://github.com/pelias/api.git
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.
138 lines
3.2 KiB
138 lines
3.2 KiB
/** |
|
Test data required by the ciao test suite. |
|
|
|
Some tests will fail when run against an empty index, you can use this script |
|
to insert some dummy data in to your index before running the tests. |
|
|
|
note: as this is dummy data, care should be taken in order to make sure these |
|
documents don't end up in your production index; for that reason the HTTP port |
|
has been hard-coded as port:9200. |
|
**/ |
|
|
|
// we use the default config to avoid making calls to |
|
// a cluster running on a non-standard port. |
|
var client = require('elasticsearch').Client(), |
|
async = require('async'), |
|
actions = []; |
|
var config = require('pelias-config').generate().api; |
|
|
|
// add one record per 'type' in order to cause the _default_ mapping |
|
// to be copied when the new type is created. |
|
var types = ['venue','address','county','region','county','country','admin0','admin1','admin2'], |
|
sources = ['test'], |
|
layers = ['geonames']; |
|
|
|
// iterate over all types/sources/layers and index a test document |
|
types.forEach( function( type, i1 ){ |
|
sources.forEach( function( source, i2 ){ |
|
layers.forEach( function( layer, i3 ){ |
|
actions.push( function( done ){ |
|
client.index({ |
|
index: config.indexName, |
|
type: type, |
|
id: [i1,i2,i3].join(':'), |
|
body: { |
|
source: source, |
|
layer: layer, |
|
name: { default: 'test' }, |
|
phrase: { default: 'test' }, |
|
parent: { |
|
country_a: ['USA'] |
|
} |
|
} |
|
}); |
|
done(); |
|
}); |
|
}); |
|
}); |
|
}); |
|
|
|
client.index( |
|
{ |
|
index: config.indexName, |
|
type: 'address', |
|
id: 'way:265038872', |
|
body: { |
|
'center_point': { |
|
'lon': -73.990425, |
|
'lat': 40.744131 |
|
}, |
|
'parent': { |
|
'country': [ |
|
'United States' |
|
], |
|
'neighbourhood_id': [ |
|
'85869245' |
|
], |
|
'country_a': [ |
|
'USA' |
|
], |
|
'locality_a': [ |
|
null |
|
], |
|
'region_id': [ |
|
'85688543' |
|
], |
|
'county': [ |
|
'New York County' |
|
], |
|
'borough_a': [ |
|
null |
|
], |
|
'borough_id': [ |
|
'421205771' |
|
], |
|
'locality': [ |
|
'New York' |
|
], |
|
'borough': [ |
|
'Manhattan' |
|
], |
|
'region_a': [ |
|
'NY' |
|
], |
|
'county_id': [ |
|
'102081863' |
|
], |
|
'locality_id': [ |
|
'85977539' |
|
], |
|
'neighbourhood_a': [ |
|
null |
|
], |
|
'neighbourhood': [ |
|
'Flatiron District' |
|
], |
|
'region': [ |
|
'New York' |
|
], |
|
'country_id': [ |
|
'85633793' |
|
], |
|
'county_a': [ |
|
null |
|
] |
|
}, |
|
'name': {'default': '30 West 26th Street'}, |
|
'address_parts': { |
|
'zip': '10010', |
|
'number': '30', |
|
'street': 'West 26th Street' |
|
}, |
|
'alpha3': 'USA', |
|
'source': 'openstreetmap', |
|
'source_id': 'way:265038872', |
|
'layer': 'address' |
|
} |
|
} |
|
); |
|
|
|
// call refresh so the index merges the changes |
|
actions.push( function( done ){ |
|
client.indices.refresh( { index: config.indexName }, done); |
|
}); |
|
|
|
// perform all actions in series |
|
async.series( actions, function( err, resp ){ |
|
console.log('test data imported'); |
|
});
|
|
|