Browse Source

one config per query

pull/352/head
Peter Johnson 9 years ago
parent
commit
49d37eafed
  1. 2
      query/autocomplete.js
  2. 0
      query/autocomplete_defaults.js
  3. 2
      query/reverse.js
  4. 95
      query/reverse_defaults.js
  5. 2
      query/search.js
  6. 95
      query/search_defaults.js
  7. 2
      sanitiser/_geo_reverse.js
  8. 22
      test/unit/query/autocomplete_defaults.js
  9. 22
      test/unit/query/reverse_defaults.js
  10. 4
      test/unit/query/search_defaults.js
  11. 4
      test/unit/run.js
  12. 2
      test/unit/sanitiser/_geo_reverse.js
  13. 2
      test/unit/sanitiser/reverse.js

2
query/autocomplete.js

@ -1,6 +1,6 @@
var peliasQuery = require('pelias-query'), var peliasQuery = require('pelias-query'),
defaults = require('./defaults'), defaults = require('./autocomplete_defaults'),
check = require('check-types'); check = require('check-types');
//------------------------------ //------------------------------

0
query/defaults.js → query/autocomplete_defaults.js

2
query/reverse.js

@ -1,5 +1,5 @@
var peliasQuery = require('pelias-query'), var peliasQuery = require('pelias-query'),
defaults = require('./defaults'), defaults = require('./reverse_defaults'),
check = require('check-types'); check = require('check-types');
//------------------------------ //------------------------------

95
query/reverse_defaults.js

@ -0,0 +1,95 @@
var peliasQuery = require('pelias-query'),
extend = require('extend');
module.exports = extend( false, peliasQuery.defaults, {
'size': 10,
'track_scores': true,
'centroid:field': 'center_point',
'sort:distance:order': 'asc',
'sort:distance:distance_type': 'plane',
'boundary:circle:radius': '50km',
'boundary:circle:distance_type': 'plane',
'boundary:circle:optimize_bbox': 'indexed',
'boundary:circle:_cache': true,
'boundary:rect:type': 'indexed',
'boundary:rect:_cache': true,
'ngram:analyzer': 'peliasOneEdgeGram',
'ngram:field': 'name.default',
'ngram:boost': 1,
'phrase:analyzer': 'peliasPhrase',
'phrase:field': 'phrase.default',
'phrase:boost': 1,
'phrase:slop': 2,
'focus:function': 'linear',
'focus:offset': '1km',
'focus:scale': '50km',
'focus:decay': 0.5,
'focus:weight': 2,
'function_score:score_mode': 'avg',
'function_score:boost_mode': 'replace',
'address:housenumber:analyzer': 'standard',
'address:housenumber:field': 'address.number',
'address:housenumber:boost': 2,
'address:street:analyzer': 'standard',
'address:street:field': 'address.street',
'address:street:boost': 5,
'address:postcode:analyzer': 'standard',
'address:postcode:field': 'address.zip',
'address:postcode:boost': 3,
'admin:alpha3:analyzer': 'standard',
'admin:alpha3:field': 'alpha3',
'admin:alpha3:boost': 5,
'admin:admin0:analyzer': 'peliasAdmin',
'admin:admin0:field': 'admin0',
'admin:admin0:boost': 4,
'admin:admin1:analyzer': 'peliasAdmin',
'admin:admin1:field': 'admin1',
'admin:admin1:boost': 3,
'admin:admin1_abbr:analyzer': 'peliasAdmin',
'admin:admin1_abbr:field': 'admin1_abbr',
'admin:admin1_abbr:boost': 3,
'admin:admin2:analyzer': 'peliasAdmin',
'admin:admin2:field': 'admin2',
'admin:admin2:boost': 2,
'admin:local_admin:analyzer': 'peliasAdmin',
'admin:local_admin:field': 'local_admin',
'admin:local_admin:boost': 1,
'admin:locality:analyzer': 'peliasAdmin',
'admin:locality:field': 'locality',
'admin:locality:boost': 1,
'admin:neighborhood:analyzer': 'peliasAdmin',
'admin:neighborhood:field': 'neighborhood',
'admin:neighborhood:boost': 1,
'popularity:field': 'popularity',
'popularity:modifier': 'log1p',
'popularity:max_boost': 20,
'popularity:weight': 1,
'population:field': 'population',
'population:modifier': 'log1p',
'population:max_boost': 20,
'population:weight': 2
});

2
query/search.js

@ -1,5 +1,5 @@
var peliasQuery = require('pelias-query'), var peliasQuery = require('pelias-query'),
defaults = require('./defaults'), defaults = require('./search_defaults'),
textParser = require('./text_parser'), textParser = require('./text_parser'),
check = require('check-types'), check = require('check-types'),
geolib = require('geolib'); geolib = require('geolib');

95
query/search_defaults.js

@ -0,0 +1,95 @@
var peliasQuery = require('pelias-query'),
extend = require('extend');
module.exports = extend( false, peliasQuery.defaults, {
'size': 10,
'track_scores': true,
'centroid:field': 'center_point',
'sort:distance:order': 'asc',
'sort:distance:distance_type': 'plane',
'boundary:circle:radius': '50km',
'boundary:circle:distance_type': 'plane',
'boundary:circle:optimize_bbox': 'indexed',
'boundary:circle:_cache': true,
'boundary:rect:type': 'indexed',
'boundary:rect:_cache': true,
'ngram:analyzer': 'peliasOneEdgeGram',
'ngram:field': 'name.default',
'ngram:boost': 1,
'phrase:analyzer': 'peliasPhrase',
'phrase:field': 'phrase.default',
'phrase:boost': 1,
'phrase:slop': 2,
'focus:function': 'linear',
'focus:offset': '1km',
'focus:scale': '50km',
'focus:decay': 0.5,
'focus:weight': 2,
'function_score:score_mode': 'avg',
'function_score:boost_mode': 'replace',
'address:housenumber:analyzer': 'standard',
'address:housenumber:field': 'address.number',
'address:housenumber:boost': 2,
'address:street:analyzer': 'standard',
'address:street:field': 'address.street',
'address:street:boost': 5,
'address:postcode:analyzer': 'standard',
'address:postcode:field': 'address.zip',
'address:postcode:boost': 3,
'admin:alpha3:analyzer': 'standard',
'admin:alpha3:field': 'alpha3',
'admin:alpha3:boost': 5,
'admin:admin0:analyzer': 'peliasAdmin',
'admin:admin0:field': 'admin0',
'admin:admin0:boost': 4,
'admin:admin1:analyzer': 'peliasAdmin',
'admin:admin1:field': 'admin1',
'admin:admin1:boost': 3,
'admin:admin1_abbr:analyzer': 'peliasAdmin',
'admin:admin1_abbr:field': 'admin1_abbr',
'admin:admin1_abbr:boost': 3,
'admin:admin2:analyzer': 'peliasAdmin',
'admin:admin2:field': 'admin2',
'admin:admin2:boost': 2,
'admin:local_admin:analyzer': 'peliasAdmin',
'admin:local_admin:field': 'local_admin',
'admin:local_admin:boost': 1,
'admin:locality:analyzer': 'peliasAdmin',
'admin:locality:field': 'locality',
'admin:locality:boost': 1,
'admin:neighborhood:analyzer': 'peliasAdmin',
'admin:neighborhood:field': 'neighborhood',
'admin:neighborhood:boost': 1,
'popularity:field': 'popularity',
'popularity:modifier': 'log1p',
'popularity:max_boost': 20,
'popularity:weight': 1,
'population:field': 'population',
'population:modifier': 'log1p',
'population:max_boost': 20,
'population:weight': 2
});

2
sanitiser/_geo_reverse.js

@ -1,7 +1,7 @@
var geo_common = require ('./_geo_common'); var geo_common = require ('./_geo_common');
var _ = require('lodash'); var _ = require('lodash');
var defaults = require('../query/defaults'); var defaults = require('../query/reverse_defaults');
var LAT_LON_IS_REQUIRED = true, var LAT_LON_IS_REQUIRED = true,
CIRCLE_IS_REQUIRED = false; CIRCLE_IS_REQUIRED = false;

22
test/unit/query/autocomplete_defaults.js

@ -0,0 +1,22 @@
var defaults = require('../../../query/autocomplete_defaults');
module.exports.tests = {};
module.exports.tests.interface = function(test, common) {
test('valid interface', function(t) {
t.equal(typeof defaults, 'object', 'defaults defined');
t.end();
});
};
module.exports.all = function (tape, common) {
function test(name, testFunction) {
return tape('autocomplete defaults ' + name, testFunction);
}
for( var testCase in module.exports.tests ){
module.exports.tests[testCase](test, common);
}
};

22
test/unit/query/reverse_defaults.js

@ -0,0 +1,22 @@
var defaults = require('../../../query/reverse_defaults');
module.exports.tests = {};
module.exports.tests.interface = function(test, common) {
test('valid interface', function(t) {
t.equal(typeof defaults, 'object', 'defaults defined');
t.end();
});
};
module.exports.all = function (tape, common) {
function test(name, testFunction) {
return tape('reverse defaults ' + name, testFunction);
}
for( var testCase in module.exports.tests ){
module.exports.tests[testCase](test, common);
}
};

4
test/unit/query/defaults.js → test/unit/query/search_defaults.js

@ -1,5 +1,5 @@
var defaults = require('../../../query/defaults'); var defaults = require('../../../query/search_defaults');
module.exports.tests = {}; module.exports.tests = {};
@ -13,7 +13,7 @@ module.exports.tests.interface = function(test, common) {
module.exports.all = function (tape, common) { module.exports.all = function (tape, common) {
function test(name, testFunction) { function test(name, testFunction) {
return tape('query defaults ' + name, testFunction); return tape('search defaults ' + name, testFunction);
} }
for( var testCase in module.exports.tests ){ for( var testCase in module.exports.tests ){

4
test/unit/run.js

@ -16,7 +16,9 @@ var tests = [
require('./middleware/confidenceScoreReverse'), require('./middleware/confidenceScoreReverse'),
require('./middleware/distance'), require('./middleware/distance'),
require('./query/autocomplete'), require('./query/autocomplete'),
require('./query/defaults'), require('./query/autocomplete_defaults'),
require('./query/search_defaults'),
require('./query/reverse_defaults'),
require('./query/reverse'), require('./query/reverse'),
require('./query/search'), require('./query/search'),
require('./sanitiser/_boundary_country'), require('./sanitiser/_boundary_country'),

2
test/unit/sanitiser/_geo_reverse.js

@ -1,5 +1,5 @@
var sanitize = require('../../../sanitiser/_geo_reverse'); var sanitize = require('../../../sanitiser/_geo_reverse');
var defaults = require('../../../query/defaults'); var defaults = require('../../../query/reverse_defaults');
module.exports.tests = {}; module.exports.tests = {};

2
test/unit/sanitiser/reverse.js

@ -4,7 +4,7 @@
var reverse = require('../../../sanitiser/reverse'), var reverse = require('../../../sanitiser/reverse'),
sanitize = reverse.sanitize, sanitize = reverse.sanitize,
middleware = reverse.middleware, middleware = reverse.middleware,
defaults = require('../../../query/defaults'), defaults = require('../../../query/reverse_defaults'),
defaultError = 'missing param \'lat\'', defaultError = 'missing param \'lat\'',
defaultClean = { 'point.lat': 0, defaultClean = { 'point.lat': 0,
'point.lon': 0, 'point.lon': 0,

Loading…
Cancel
Save