Browse Source

calcSize became middleware (exposed and fixed bug in query defaults)

pull/376/head
Diana Shkolnikov 9 years ago
parent
commit
9fa5fc5a77
  1. 21
      helper/sizeCalculator.js
  2. 12
      middleware/dedupe.js
  3. 35
      middleware/sizeCalculator.js
  4. 6
      query/autocomplete.js
  5. 8
      query/autocomplete_defaults.js
  6. 13
      query/reverse.js
  7. 10
      query/reverse_defaults.js
  8. 8
      query/search.js
  9. 8
      query/search_defaults.js
  10. 5
      routes/v1.js
  11. 3
      test/unit/fixture/autocomplete_linguistic_focus.js
  12. 3
      test/unit/fixture/autocomplete_linguistic_focus_null_island.js
  13. 3
      test/unit/fixture/autocomplete_linguistic_only.js
  14. 5
      test/unit/fixture/reverse_boundary_circle.js
  15. 3
      test/unit/fixture/reverse_null_island.js
  16. 3
      test/unit/fixture/reverse_standard.js
  17. 3
      test/unit/fixture/reverse_with_boundary_country.js
  18. 2
      test/unit/fixture/search_boundary_country.js
  19. 50
      test/unit/fixture/search_full_address.js
  20. 2
      test/unit/fixture/search_linguistic_bbox.js
  21. 2
      test/unit/fixture/search_linguistic_focus.js
  22. 2
      test/unit/fixture/search_linguistic_focus_bbox.js
  23. 2
      test/unit/fixture/search_linguistic_focus_null_island.js
  24. 2
      test/unit/fixture/search_linguistic_only.js
  25. 2
      test/unit/fixture/search_linguistic_viewport.js
  26. 2
      test/unit/fixture/search_linguistic_viewport_min_diagonal.js
  27. 33
      test/unit/fixture/search_partial_address.js
  28. 41
      test/unit/fixture/search_regions_address.js
  29. 42
      test/unit/helper/sizeCalculator.js
  30. 8
      test/unit/query/reverse.js
  31. 22
      test/unit/query/search.js

21
helper/sizeCalculator.js

@ -1,21 +0,0 @@
/**
* Utility for calculating query result size
* incorporating padding for dedupe process
*/
var SIZE_PADDING = 2;
/**
* Add padding or set to 1
*
* @param {number} cleanSize
* @returns {number}
*/
module.exports = function calculateSize(cleanSize) {
switch (cleanSize || 1) {
case 1:
return 1;
default:
return cleanSize * SIZE_PADDING;
}
};

12
middleware/dedupe.js

@ -35,6 +35,7 @@ function dedupeResults(req, res, next) {
* @param {object} item1
* @param {object} item2
* @returns {boolean}
* @throws {Error}
*/
function isDifferent(item1, item2) {
try {
@ -54,11 +55,14 @@ function isDifferent(item1, item2) {
propMatch(item1.address, item2.address, 'zip');
}
else if (item1.address !== item2.address) {
throw 'different';
throw new Error('different');
}
}
catch (err) {
return true;
if (err.message === 'different') {
return true;
}
throw err;
}
return false;
@ -70,11 +74,11 @@ function isDifferent(item1, item2) {
* @param {object} item1
* @param {object} item2
* @param {string} prop
* @throws {string}
* @throws {Error}
*/
function propMatch(item1, item2, prop) {
if (normalizeString(item1[prop]) !== normalizeString(item2[prop])) {
throw 'different';
throw new Error('different');
}
}

35
middleware/sizeCalculator.js

@ -0,0 +1,35 @@
var _ = require('lodash');
var SIZE_PADDING = 2;
/**
* Utility for calculating query result size
* incorporating padding for dedupe process
*/
function setup() {
return function setQuerySize(req, res, next) {
if (_.isUndefined(req.clean) || _.isUndefined(req.clean.size)) {
return next();
}
req.clean.querySize = calculateSize(req.clean.size);
next();
};
}
/**
* Add padding or set to 1
*
* @param {number} cleanSize
* @returns {number}
*/
function calculateSize(cleanSize) {
switch (cleanSize || 1) {
case 1:
return 1;
default:
return cleanSize * SIZE_PADDING;
}
}
module.exports = setup;

6
query/autocomplete.js

@ -1,8 +1,7 @@
var peliasQuery = require('pelias-query'),
defaults = require('./autocomplete_defaults'),
check = require('check-types'),
calcSize = require('../helper/sizeCalculator');
check = require('check-types');
//------------------------------
// autocomplete query
@ -31,9 +30,6 @@ function generateQuery( clean ){
// input text
vs.var( 'input:name', clean.text );
// always 10 (not user definable due to caching)
vs.var( 'size', calcSize(10));
// focus point
if( check.number(clean['focus.point.lat']) &&
check.number(clean['focus.point.lon']) ){

8
query/autocomplete_defaults.js

@ -1,10 +1,10 @@
var peliasQuery = require('pelias-query'),
extend = require('extend');
var peliasQuery = require('pelias-query');
var _ = require('lodash');
module.exports = extend( false, peliasQuery.defaults, {
module.exports = _.merge({}, peliasQuery.defaults, {
'size': 10,
'size': 20,
'track_scores': true,
'centroid:field': 'center_point',

13
query/reverse.js

@ -1,7 +1,6 @@
var peliasQuery = require('pelias-query'),
defaults = require('./reverse_defaults'),
check = require('check-types'),
calcSize = require('../helper/sizeCalculator');
check = require('check-types');
//------------------------------
// reverse geocode query
@ -23,15 +22,9 @@ function generateQuery( clean ){
var vs = new peliasQuery.Vars( defaults );
// set defaults
vs.set({
'size': 1,
'boundary:circle:radius': '500km'
});
// set size
if( clean.size ){
vs.var( 'size', calcSize(clean.size));
if( clean.querySize ){
vs.var( 'size', clean.querySize);
}
// focus point to score by distance

10
query/reverse_defaults.js

@ -1,10 +1,10 @@
var peliasQuery = require('pelias-query'),
extend = require('extend');
var peliasQuery = require('pelias-query');
var _ = require('lodash');
module.exports = extend( false, peliasQuery.defaults, {
module.exports = _.merge({}, peliasQuery.defaults, {
'size': 10,
'size': 1,
'track_scores': true,
'centroid:field': 'center_point',
@ -12,7 +12,7 @@ module.exports = extend( false, peliasQuery.defaults, {
'sort:distance:order': 'asc',
'sort:distance:distance_type': 'plane',
'boundary:circle:radius': '50km',
'boundary:circle:radius': '500km',
'boundary:circle:distance_type': 'plane',
'boundary:circle:optimize_bbox': 'indexed',
'boundary:circle:_cache': true,

8
query/search.js

@ -2,8 +2,7 @@ var peliasQuery = require('pelias-query'),
defaults = require('./search_defaults'),
textParser = require('./text_parser'),
check = require('check-types'),
geolib = require('geolib'),
calcSize = require('../helper/sizeCalculator');
geolib = require('geolib');
//------------------------------
// general-purpose search query
@ -53,8 +52,9 @@ function generateQuery( clean ){
vs.var( 'input:name', clean.text );
// size
// specify twice as much data as we need so we can filter out dupes
vs.var( 'size', calcSize(clean.size || defaults.size));
if( clean.querySize ) {
vs.var( 'size', clean.querySize );
}
// focus point
if( check.number(clean['focus.point.lat']) &&

8
query/search_defaults.js

@ -1,10 +1,10 @@
var peliasQuery = require('pelias-query'),
extend = require('extend');
var peliasQuery = require('pelias-query');
var _ = require('lodash');
module.exports = extend( false, peliasQuery.defaults, {
module.exports = _.merge({}, peliasQuery.defaults, {
'size': 10,
'size': 20,
'track_scores': true,
'centroid:field': 'center_point',

5
routes/v1.js

@ -12,7 +12,8 @@ var sanitisers = {
/** ----------------------- middleware ------------------------ **/
var middleware = {
types: require('../middleware/_types')
types: require('../middleware/_types'),
calcSize: require('../middleware/sizeCalculator')
};
/** ----------------------- controllers ----------------------- **/
@ -59,6 +60,7 @@ function addRoutes(app, peliasConfig) {
search: createRouter([
sanitisers.search.middleware,
middleware.types,
middleware.calcSize(),
controllers.search(),
postProc.distances('focus.point.'),
postProc.confidenceScores(peliasConfig),
@ -83,6 +85,7 @@ function addRoutes(app, peliasConfig) {
reverse: createRouter([
sanitisers.reverse.middleware,
middleware.types,
middleware.calcSize(),
controllers.search(undefined, reverseQuery),
postProc.distances('point.'),
// reverse confidence scoring depends on distance from origin

3
test/unit/fixture/autocomplete_linguistic_focus.js

@ -1,3 +1,4 @@
var vs = require('../../../query/autocomplete_defaults');
module.exports = {
'query': {
@ -115,6 +116,6 @@ module.exports = {
}
},
'sort': [ '_score' ],
'size': 20,
'size': vs.size,
'track_scores': true
};

3
test/unit/fixture/autocomplete_linguistic_focus_null_island.js

@ -1,3 +1,4 @@
var vs = require('../../../query/autocomplete_defaults');
module.exports = {
'query': {
@ -115,6 +116,6 @@ module.exports = {
}
},
'sort': [ '_score' ],
'size': 20,
'size': vs.size,
'track_scores': true
};

3
test/unit/fixture/autocomplete_linguistic_only.js

@ -1,3 +1,4 @@
var vs = require('../../../query/autocomplete_defaults');
module.exports = {
'query': {
@ -87,6 +88,6 @@ module.exports = {
}
},
'sort': [ '_score' ],
'size': 20,
'size': vs.size,
'track_scores': true
};

5
test/unit/fixture/reverse_boundary_circle.js

@ -1,3 +1,4 @@
var vs = require('../../../query/reverse_defaults');
module.exports = {
'query': {
@ -10,7 +11,7 @@ module.exports = {
'must': [
{
'geo_distance': {
'distance': '500km',
'distance': vs.distance,
'distance_type': 'plane',
'optimize_bbox': 'indexed',
'_cache': true,
@ -38,6 +39,6 @@ module.exports = {
}
}
],
'size': 1,
'size': vs.size,
'track_scores': true
};

3
test/unit/fixture/reverse_null_island.js

@ -1,3 +1,4 @@
var vs = require('../../../query/reverse_defaults');
module.exports = {
'query': {
@ -40,6 +41,6 @@ module.exports = {
}
}
],
'size': 1,
'size': vs.size,
'track_scores': true
};

3
test/unit/fixture/reverse_standard.js

@ -1,3 +1,4 @@
var vs = require('../../../query/reverse_defaults');
module.exports = {
'query': {
@ -40,6 +41,6 @@ module.exports = {
}
}
],
'size': 1,
'size': vs.size,
'track_scores': true
};

3
test/unit/fixture/reverse_with_boundary_country.js

@ -1,3 +1,4 @@
var vs = require('../../../query/reverse_defaults');
module.exports = {
'query': {
@ -49,6 +50,6 @@ module.exports = {
}
}
],
'size': 1,
'size': vs.size,
'track_scores': true
};

2
test/unit/fixture/search_boundary_country.js

@ -97,6 +97,6 @@ module.exports = {
}
},
'sort': [ '_score' ],
'size': 20,
'size': 10,
'track_scores': true
};

50
test/unit/fixture/search_full_address.js

@ -1,6 +1,4 @@
var peliasQuery = require('pelias-query'),
vs = new peliasQuery.Vars( peliasQuery.defaults );
var vs = require('../../../query/search_defaults');
module.exports = {
'query': {
@ -89,88 +87,88 @@ module.exports = {
'match': {
'address.number': {
'query': 123,
'boost': vs.var('address:housenumber:boost').get(),
'analyzer': vs.var('address:housenumber:analyzer').get()
'boost': vs['address:housenumber:boost'],
'analyzer': vs['address:housenumber:analyzer']
}
}
}, {
'match': {
'address.street': {
'query': 'main st',
'boost': vs.var('address:street:boost').get(),
'analyzer': vs.var('address:street:analyzer').get()
'boost': vs['address:street:boost'],
'analyzer': vs['address:street:analyzer']
}
}
}, {
'match': {
'address.zip': {
'query': 10010,
'boost': vs.var('address:postcode:boost').get(),
'analyzer': vs.var('address:postcode:analyzer').get()
'boost': vs['address:postcode:boost'],
'analyzer': vs['address:postcode:analyzer']
}
}
}, {
'match': {
'alpha3': {
'query': 'USA',
'boost': vs.var('admin:alpha3:boost').get(),
'analyzer': vs.var('admin:alpha3:analyzer').get()
'boost': vs['admin:alpha3:boost'],
'analyzer': vs['admin:alpha3:analyzer']
}
}
}, {
'match': {
'admin0': {
'query': 'new york',
'boost': vs.var('admin:admin0:boost').get(),
'analyzer': vs.var('admin:admin0:analyzer').get()
'boost': vs['admin:admin0:boost'],
'analyzer': vs['admin:admin0:analyzer']
}
}
}, {
'match': {
'admin1': {
'query': 'new york',
'boost': vs.var('admin:admin1:boost').get(),
'analyzer': vs.var('admin:admin1:analyzer').get()
'boost': vs['admin:admin1:boost'],
'analyzer': vs['admin:admin1:analyzer']
}
}
}, {
'match': {
'admin1_abbr': {
'query': 'NY',
'boost': vs.var('admin:admin1_abbr:boost').get(),
'analyzer': vs.var('admin:admin1_abbr:analyzer').get()
'boost': vs['admin:admin1_abbr:boost'],
'analyzer': vs['admin:admin1_abbr:analyzer']
}
}
}, {
'match': {
'admin2': {
'query': 'new york',
'boost': vs.var('admin:admin2:boost').get(),
'analyzer': vs.var('admin:admin2:analyzer').get()
'boost': vs['admin:admin2:boost'],
'analyzer': vs['admin:admin2:analyzer']
}
}
}, {
'match': {
'local_admin': {
'query': 'new york',
'boost': vs.var('admin:local_admin:boost').get(),
'analyzer': vs.var('admin:local_admin:analyzer').get()
'boost': vs['admin:local_admin:boost'],
'analyzer': vs['admin:local_admin:analyzer']
}
}
}, {
'match': {
'locality': {
'query': 'new york',
'boost': vs.var('admin:locality:boost').get(),
'analyzer': vs.var('admin:locality:analyzer').get()
'boost': vs['admin:locality:boost'],
'analyzer': vs['admin:locality:analyzer']
}
}
}, {
'match': {
'neighborhood': {
'query': 'new york',
'boost': vs.var('admin:neighborhood:boost').get(),
'analyzer': vs.var('admin:neighborhood:analyzer').get()
'boost': vs['admin:neighborhood:boost'],
'analyzer': vs['admin:neighborhood:analyzer']
}
}
}]
@ -178,7 +176,7 @@ module.exports = {
}
}
},
'size': 20,
'size': 10,
'sort': [ '_score' ],
'track_scores': true
};

2
test/unit/fixture/search_linguistic_bbox.js

@ -103,6 +103,6 @@ module.exports = {
}
},
'sort': [ '_score' ],
'size': 20,
'size': 10,
'track_scores': true
};

2
test/unit/fixture/search_linguistic_focus.js

@ -117,6 +117,6 @@ module.exports = {
}
},
'sort': [ '_score' ],
'size': 20,
'size': 10,
'track_scores': true
};

2
test/unit/fixture/search_linguistic_focus_bbox.js

@ -133,6 +133,6 @@ module.exports = {
}
},
'sort': [ '_score' ],
'size': 20,
'size': 10,
'track_scores': true
};

2
test/unit/fixture/search_linguistic_focus_null_island.js

@ -117,6 +117,6 @@ module.exports = {
}
},
'sort': [ '_score' ],
'size': 20,
'size': 10,
'track_scores': true
};

2
test/unit/fixture/search_linguistic_only.js

@ -87,6 +87,6 @@ module.exports = {
}
},
'sort': [ '_score' ],
'size': 20,
'size': 10,
'track_scores': true
};

2
test/unit/fixture/search_linguistic_viewport.js

@ -128,7 +128,7 @@ module.exports = {
}
}
},
'size': 20,
'size': 10,
'track_scores': true,
'sort': [
'_score'

2
test/unit/fixture/search_linguistic_viewport_min_diagonal.js

@ -128,7 +128,7 @@ module.exports = {
}
}
},
'size': 20,
'size': 10,
'track_scores': true,
'sort': [
'_score'

33
test/unit/fixture/search_partial_address.js

@ -1,6 +1,5 @@
var peliasQuery = require('pelias-query'),
vs = new peliasQuery.Vars( peliasQuery.defaults );
var vs = require('../../../query/search_defaults');
module.exports = {
'query': {
@ -88,56 +87,56 @@ module.exports = {
'match': {
'admin0': {
'query': 'new york',
'boost': vs.var('admin:admin0:boost').get(),
'analyzer': vs.var('admin:admin0:analyzer').get()
'boost': vs['admin:admin0:boost'],
'analyzer': vs['admin:admin0:analyzer']
}
}
}, {
'match': {
'admin1': {
'query': 'new york',
'boost': vs.var('admin:admin1:boost').get(),
'analyzer': vs.var('admin:admin1:analyzer').get()
'boost': vs['admin:admin1:boost'],
'analyzer': vs['admin:admin1:analyzer']
}
}
}, {
'match': {
'admin1_abbr': {
'query': 'new york',
'boost': vs.var('admin:admin1_abbr:boost').get(),
'analyzer': vs.var('admin:admin1_abbr:analyzer').get()
'boost': vs['admin:admin1_abbr:boost'],
'analyzer': vs['admin:admin1_abbr:analyzer']
}
}
}, {
'match': {
'admin2': {
'query': 'new york',
'boost': vs.var('admin:admin2:boost').get(),
'analyzer': vs.var('admin:admin2:analyzer').get()
'boost': vs['admin:admin2:boost'],
'analyzer': vs['admin:admin2:analyzer']
}
}
}, {
'match': {
'local_admin': {
'query': 'new york',
'boost': vs.var('admin:local_admin:boost').get(),
'analyzer': vs.var('admin:local_admin:analyzer').get()
'boost': vs['admin:local_admin:boost'],
'analyzer': vs['admin:local_admin:analyzer']
}
}
}, {
'match': {
'locality': {
'query': 'new york',
'boost': vs.var('admin:locality:boost').get(),
'analyzer': vs.var('admin:locality:analyzer').get()
'boost': vs['admin:locality:boost'],
'analyzer': vs['admin:locality:analyzer']
}
}
}, {
'match': {
'neighborhood': {
'query': 'new york',
'boost': vs.var('admin:neighborhood:boost').get(),
'analyzer': vs.var('admin:neighborhood:analyzer').get()
'boost': vs['admin:neighborhood:boost'],
'analyzer': vs['admin:neighborhood:analyzer']
}
}
}]
@ -145,7 +144,7 @@ module.exports = {
}
}
},
'size': 20,
'size': 10,
'sort': [ '_score' ],
'track_scores': true
};

41
test/unit/fixture/search_regions_address.js

@ -1,6 +1,5 @@
var peliasQuery = require('pelias-query'),
vs = new peliasQuery.Vars( peliasQuery.defaults );
var vs = require('../../../query/search_defaults');
module.exports = {
'query': {
@ -88,72 +87,72 @@ module.exports = {
'match': {
'address.number': {
'query': 1,
'boost': vs.var('address:housenumber:boost').get(),
'analyzer': vs.var('address:housenumber:analyzer').get()
'boost': vs['address:housenumber:boost'],
'analyzer': vs['address:housenumber:analyzer']
}
}
}, {
'match': {
'address.street': {
'query': 'water st',
'boost': vs.var('address:street:boost').get(),
'analyzer': vs.var('address:street:analyzer').get()
'boost': vs['address:street:boost'],
'analyzer': vs['address:street:analyzer']
}
}
}, {
'match': {
'admin0': {
'query': 'manhattan',
'boost': vs.var('admin:admin0:boost').get(),
'analyzer': vs.var('admin:admin0:analyzer').get()
'boost': vs['admin:admin0:boost'],
'analyzer': vs['admin:admin0:analyzer']
}
}
}, {
'match': {
'admin1': {
'query': 'manhattan',
'boost': vs.var('admin:admin1:boost').get(),
'analyzer': vs.var('admin:admin1:analyzer').get()
'boost': vs['admin:admin1:boost'],
'analyzer': vs['admin:admin1:analyzer']
}
}
}, {
'match': {
'admin1_abbr': {
'query': 'NY',
'boost': vs.var('admin:admin1_abbr:boost').get(),
'analyzer': vs.var('admin:admin1_abbr:analyzer').get()
'boost': vs['admin:admin1_abbr:boost'],
'analyzer': vs['admin:admin1_abbr:analyzer']
}
}
}, {
'match': {
'admin2': {
'query': 'manhattan',
'boost': vs.var('admin:admin2:boost').get(),
'analyzer': vs.var('admin:admin2:analyzer').get()
'boost': vs['admin:admin2:boost'],
'analyzer': vs['admin:admin2:analyzer']
}
}
}, {
'match': {
'local_admin': {
'query': 'manhattan',
'boost': vs.var('admin:local_admin:boost').get(),
'analyzer': vs.var('admin:local_admin:analyzer').get()
'boost': vs['admin:local_admin:boost'],
'analyzer': vs['admin:local_admin:analyzer']
}
}
}, {
'match': {
'locality': {
'query': 'manhattan',
'boost': vs.var('admin:locality:boost').get(),
'analyzer': vs.var('admin:locality:analyzer').get()
'boost': vs['admin:locality:boost'],
'analyzer': vs['admin:locality:analyzer']
}
}
}, {
'match': {
'neighborhood': {
'query': 'manhattan',
'boost': vs.var('admin:neighborhood:boost').get(),
'analyzer': vs.var('admin:neighborhood:analyzer').get()
'boost': vs['admin:neighborhood:boost'],
'analyzer': vs['admin:neighborhood:analyzer']
}
}
}]
@ -161,7 +160,7 @@ module.exports = {
}
}
},
'size': 20,
'size': 10,
'sort': [ '_score' ],
'track_scores': true
};

42
test/unit/helper/sizeCalculator.js

@ -1,5 +1,5 @@
var calcSize = require('../../../helper/sizeCalculator.js');
var calcSize = require('../../../middleware/sizeCalculator.js')();
module.exports.tests = {};
@ -11,19 +11,47 @@ module.exports.tests.interface = function(test, common) {
};
module.exports.tests.valid = function(test, common) {
var req = { clean: {} };
function setup(val) {
if (isNaN(val)) {
delete req.clean.size;
}
else {
req.clean.size = val;
}
delete req.clean.querySize;
}
test('size=0', function (t) {
t.equal(calcSize(0), 1);
t.end();
setup(0);
calcSize(req, {}, function () {
t.equal(req.clean.querySize, 1);
t.end();
});
});
test('size=1', function (t) {
t.equal(calcSize(1), 1);
t.end();
setup(1);
calcSize(req, {}, function () {
t.equal(req.clean.querySize, 1);
t.end();
});
});
test('size=10', function (t) {
t.equal(calcSize(10), 20);
t.end();
setup(10);
calcSize(req, {}, function () {
t.equal(req.clean.querySize, 20);
t.end();
});
});
test('no size', function (t) {
setup();
calcSize(req, {}, function () {
t.equal(req.clean.hasOwnProperty('querySize'), false);
t.end();
});
});
};

8
test/unit/query/reverse.js

@ -79,15 +79,15 @@ module.exports.tests.query = function(test, common) {
test('size fuzz test', function(t) {
// test different sizes
var sizes = [1,2,10,undefined,null];
var expectedSizes = [1,4,20,1,1];
var sizes = [1,4,20,undefined,null];
var expected = [1,4,20,1,1];
sizes.forEach( function( size, index ){
var query = generate({
'point.lat': 29.49136, 'point.lon': -82.50622, size: size
'point.lat': 29.49136, 'point.lon': -82.50622, querySize: size
});
var compiled = JSON.parse( JSON.stringify( query ) );
t.equal( compiled.size, expectedSizes[index], 'valid reverse query for size: '+ size);
t.equal( compiled.size, expected[index], 'valid reverse query for size: '+ size);
});
t.end();
});

22
test/unit/query/search.js

@ -13,7 +13,7 @@ module.exports.tests.interface = function(test, common) {
module.exports.tests.query = function(test, common) {
test('valid search + focus + bbox', function(t) {
var query = generate({
text: 'test', size: 10,
text: 'test', querySize: 10,
'focus.point.lat': 29.49136, 'focus.point.lon': -82.50622,
'boundary.rect.min_lat': 47.47,
'boundary.rect.max_lon': -61.84,
@ -31,7 +31,7 @@ module.exports.tests.query = function(test, common) {
test('valid search + bbox', function(t) {
var query = generate({
text: 'test', size: 10,
text: 'test', querySize: 10,
'boundary.rect.min_lat': 47.47,
'boundary.rect.max_lon': -61.84,
'boundary.rect.max_lat': 11.51,
@ -48,7 +48,7 @@ module.exports.tests.query = function(test, common) {
test('valid lingustic-only search', function(t) {
var query = generate({
text: 'test', size: 10,
text: 'test', querySize: 10,
layers: ['test']
});
@ -61,7 +61,7 @@ module.exports.tests.query = function(test, common) {
test('search search + focus', function(t) {
var query = generate({
text: 'test', size: 10,
text: 'test', querySize: 10,
'focus.point.lat': 29.49136, 'focus.point.lon': -82.50622,
layers: ['test']
});
@ -75,7 +75,7 @@ module.exports.tests.query = function(test, common) {
test('search search + viewport', function(t) {
var query = generate({
text: 'test', size: 10,
text: 'test', querySize: 10,
'focus.viewport.min_lat': 28.49136,
'focus.viewport.max_lat': 30.49136,
'focus.viewport.min_lon': -87.50622,
@ -92,7 +92,7 @@ module.exports.tests.query = function(test, common) {
test('search with viewport diagonal < 1km should set scale to 1km', function(t) {
var query = generate({
text: 'test', size: 10,
text: 'test', querySize: 10,
'focus.viewport.min_lat': 28.49135,
'focus.viewport.max_lat': 28.49137,
'focus.viewport.min_lon': -87.50622,
@ -109,7 +109,7 @@ module.exports.tests.query = function(test, common) {
test('search search + focus on null island', function(t) {
var query = generate({
text: 'test', size: 10,
text: 'test', querySize: 10,
'focus.point.lat': 0, 'focus.point.lon': 0,
layers: ['test']
});
@ -126,7 +126,7 @@ module.exports.tests.query = function(test, common) {
var query = generate({ text: address,
layers: [ 'geoname', 'osmnode', 'osmway', 'admin0', 'admin1', 'admin2', 'neighborhood',
'locality', 'local_admin', 'osmaddress', 'openaddresses' ],
size: 10,
querySize: 10,
parsed_text: parser.get_parsed_address(address),
});
@ -142,7 +142,7 @@ module.exports.tests.query = function(test, common) {
var query = generate({ text: partial_address,
layers: [ 'geoname', 'osmnode', 'osmway', 'admin0', 'admin1', 'admin2', 'neighborhood',
'locality', 'local_admin', 'osmaddress', 'openaddresses' ],
size: 10,
querySize: 10,
parsed_text: parser.get_parsed_address(partial_address),
});
@ -158,7 +158,7 @@ module.exports.tests.query = function(test, common) {
var query = generate({ text: partial_address,
layers: [ 'geoname', 'osmnode', 'osmway', 'admin0', 'admin1', 'admin2', 'neighborhood',
'locality', 'local_admin', 'osmaddress', 'openaddresses' ],
size: 10,
querySize: 10,
parsed_text: parser.get_parsed_address(partial_address),
});
@ -171,7 +171,7 @@ module.exports.tests.query = function(test, common) {
test('valid boundary.country search', function(t) {
var query = generate({
text: 'test', size: 10,
text: 'test', querySize: 10,
layers: ['test'],
'boundary.country': 'ABC'
});

Loading…
Cancel
Save