diff --git a/test/unit/fixture/component_geocoding/fallback.json b/test/unit/fixture/component_geocoding/fallback.json index 11891881..965b188f 100644 --- a/test/unit/fixture/component_geocoding/fallback.json +++ b/test/unit/fixture/component_geocoding/fallback.json @@ -6,6 +6,197 @@ "query": { "bool": { "should": [ + { + "bool": { + "_name": "fallback.address", + "must": [ + { + "match_phrase": { + "address_parts.number": "number value" + } + }, + { + "match_phrase": { + "address_parts.street": "street value" + } + }, + { + "multi_match": { + "query": "neighbourhood value", + "type": "phrase", + "fields": [ + "parent.neighbourhood", + "parent.neighbourhood_a" + ] + } + }, + { + "multi_match": { + "query": "borough value", + "type": "phrase", + "fields": [ + "parent.borough", + "parent.borough_a" + ] + } + }, + { + "multi_match": { + "query": "city value", + "type": "phrase", + "fields": [ + "parent.locality", + "parent.locality_a", + "parent.localadmin", + "parent.localadmin_a" + ] + } + }, + { + "multi_match": { + "query": "county value", + "type": "phrase", + "fields": [ + "parent.county", + "parent.county_a", + "parent.macrocounty", + "parent.macrocounty_a" + ] + } + }, + { + "multi_match": { + "query": "state value", + "type": "phrase", + "fields": [ + "parent.region", + "parent.region_a", + "parent.macroregion", + "parent.macroregion_a" + ] + } + }, + { + "multi_match": { + "query": "country value", + "type": "phrase", + "fields": [ + "parent.country", + "parent.country_a", + "parent.dependency", + "parent.dependency_a" + ] + } + } + ], + "should": [ + { + "match_phrase": { + "address_parts.zip": "postalcode value" + } + } + ], + "filter": { + "term": { + "layer": "address" + } + }, + "boost": 50 + } + }, + { + "bool": { + "_name": "fallback.street", + "must": [ + { + "match_phrase": { + "address_parts.street": "street value" + } + }, + { + "multi_match": { + "query": "neighbourhood value", + "type": "phrase", + "fields": [ + "parent.neighbourhood", + "parent.neighbourhood_a" + ] + } + }, + { + "multi_match": { + "query": "borough value", + "type": "phrase", + "fields": [ + "parent.borough", + "parent.borough_a" + ] + } + }, + { + "multi_match": { + "query": "city value", + "type": "phrase", + "fields": [ + "parent.locality", + "parent.locality_a", + "parent.localadmin", + "parent.localadmin_a" + ] + } + }, + { + "multi_match": { + "query": "county value", + "type": "phrase", + "fields": [ + "parent.county", + "parent.county_a", + "parent.macrocounty", + "parent.macrocounty_a" + ] + } + }, + { + "multi_match": { + "query": "state value", + "type": "phrase", + "fields": [ + "parent.region", + "parent.region_a", + "parent.macroregion", + "parent.macroregion_a" + ] + } + }, + { + "multi_match": { + "query": "country value", + "type": "phrase", + "fields": [ + "parent.country", + "parent.country_a", + "parent.dependency", + "parent.dependency_a" + ] + } + } + ], + "should": [ + { + "match_phrase": { + "address_parts.zip": "postalcode value" + } + } + ], + "filter": { + "term": { + "layer": "street" + } + }, + "boost": 100 + } + }, { "bool": { "_name": "fallback.neighbourhood", @@ -514,4 +705,4 @@ ], "size": 20, "track_scores": true -} \ No newline at end of file +} diff --git a/test/unit/query/component_geocoding.js b/test/unit/query/component_geocoding.js index 68bedf6a..42e4736d 100644 --- a/test/unit/query/component_geocoding.js +++ b/test/unit/query/component_geocoding.js @@ -14,7 +14,6 @@ module.exports.tests.query = function(test, common) { test('valid search + focus + bbox', function(t) { var clean = { parsed_text: { - street: 'street value' }, text: 'test', querySize: 10, @@ -39,7 +38,6 @@ module.exports.tests.query = function(test, common) { test('valid search + bbox', function(t) { var clean = { parsed_text: { - street: 'street value' }, text: 'test', querySize: 10, @@ -63,7 +61,6 @@ module.exports.tests.query = function(test, common) { test('valid lingustic-only search', function(t) { var clean = { parsed_text: { - street: 'street value' }, text: 'test', querySize: 10, layers: ['test'] @@ -82,7 +79,6 @@ module.exports.tests.query = function(test, common) { test('search search + focus', function(t) { var clean = { parsed_text: { - street: 'street value' }, text: 'test', querySize: 10, 'focus.point.lat': 29.49136, 'focus.point.lon': -82.50622, @@ -102,7 +98,6 @@ module.exports.tests.query = function(test, common) { test('search search + viewport', function(t) { var clean = { parsed_text: { - street: 'street value' }, text: 'test', querySize: 10, 'focus.viewport.min_lat': 28.49136, @@ -127,7 +122,6 @@ module.exports.tests.query = function(test, common) { test('search with viewport diagonal < 1km should set scale to 1km', function(t) { var clean = { parsed_text: { - street: 'street value' }, text: 'test', querySize: 10, 'focus.viewport.min_lat': 28.49135, @@ -150,7 +144,6 @@ module.exports.tests.query = function(test, common) { test('search search + focus on null island', function(t) { var clean = { parsed_text: { - street: 'street value' }, text: 'test', querySize: 10, 'focus.point.lat': 0, 'focus.point.lon': 0, @@ -198,7 +191,6 @@ module.exports.tests.query = function(test, common) { test('valid boundary.country search', function(t) { var clean = { parsed_text: { - street: 'street value' }, text: 'test', querySize: 10, layers: ['test'], @@ -218,7 +210,6 @@ module.exports.tests.query = function(test, common) { test('valid sources filter', function(t) { var clean = { parsed_text: { - street: 'street value' }, 'text': 'test', 'sources': ['test_source']