pelias-query
Advanced tools
Comparing version 9.19.1 to 9.20.0
@@ -11,3 +11,3 @@ const _ = require('lodash'); | ||
match_phrase('address_parts.number', vs.var('input:housenumber')), | ||
match_phrase('address_parts.street', vs.var('input:street')) | ||
match_phrase('address_parts.street', vs.var('input:street'), { slop: vs.var('address:street:slop') }) | ||
], | ||
@@ -36,3 +36,3 @@ filter: { | ||
match_phrase('address_parts.number', vs.var('input:housenumber')), | ||
match_phrase('address_parts.street', vs.var('input:street')) | ||
match_phrase('address_parts.street', vs.var('input:street'), { slop: vs.var('address:street:slop') }) | ||
], | ||
@@ -61,3 +61,3 @@ filter: { | ||
match_phrase('address_parts.number', vs.var('input:housenumber')), | ||
match_phrase('address_parts.street', vs.var('input:street')) | ||
match_phrase('address_parts.street', vs.var('input:street'), { slop: vs.var('address:street:slop') }) | ||
], | ||
@@ -84,3 +84,3 @@ filter: { | ||
must: [ | ||
match_phrase('address_parts.street', vs.var('input:street')) | ||
match_phrase('address_parts.street', vs.var('input:street'), { slop: vs.var('address:street:slop') }) | ||
], | ||
@@ -87,0 +87,0 @@ filter: { |
@@ -236,3 +236,3 @@ // This query is useful for specifying all the combinations of inputs starting | ||
match_phrase('address_parts.number', vs.var('input:housenumber')), | ||
match_phrase('address_parts.street', vs.var('input:street')) | ||
match_phrase('address_parts.street', vs.var('input:street'), { slop: vs.var('address:street:slop') }) | ||
], | ||
@@ -269,3 +269,3 @@ should: [], | ||
match_phrase('address_parts.number', vs.var('input:housenumber')), | ||
match_phrase('address_parts.street', vs.var('input:street')) | ||
match_phrase('address_parts.street', vs.var('input:street'), { slop: vs.var('address:street:slop') }) | ||
], | ||
@@ -302,3 +302,3 @@ should: [], | ||
must: [ | ||
match_phrase('address_parts.street', vs.var('input:street')) | ||
match_phrase('address_parts.street', vs.var('input:street'), { slop: vs.var('address:street:slop') }) | ||
], | ||
@@ -305,0 +305,0 @@ should: [], |
@@ -195,3 +195,3 @@ // This query is used for component geocodes, where the individual fields have | ||
match_phrase('address_parts.number', vs.var('input:housenumber')), | ||
match_phrase('address_parts.street', vs.var('input:street')) | ||
match_phrase('address_parts.street', vs.var('input:street'), { slop: vs.var('address:street:slop') }) | ||
], | ||
@@ -266,3 +266,3 @@ should: [], | ||
match_phrase('address_parts.number', vs.var('input:housenumber')), | ||
match_phrase('address_parts.street', vs.var('input:street')) | ||
match_phrase('address_parts.street', vs.var('input:street'), { slop: vs.var('address:street:slop') }) | ||
], | ||
@@ -299,3 +299,3 @@ should: [], | ||
must: [ | ||
match_phrase('address_parts.street', vs.var('input:street')) | ||
match_phrase('address_parts.street', vs.var('input:street'), { slop: vs.var('address:street:slop') }) | ||
], | ||
@@ -302,0 +302,0 @@ should: [], |
{ | ||
"name": "pelias-query", | ||
"version": "9.19.1", | ||
"version": "9.20.0", | ||
"description": "An Elasticsearch query builder for Pelias", | ||
@@ -5,0 +5,0 @@ "engines": { |
@@ -55,2 +55,39 @@ const AddressesUsingIdsQuery = require('../../layout/AddressesUsingIdsQuery'); | ||
test('street slop should be set in query', (t) => { | ||
const query = new AddressesUsingIdsQuery(); | ||
const vs = new VariableStore(); | ||
vs.var('size', 'size value'); | ||
vs.var('track_scores', 'track_scores value'); | ||
vs.var('input:unit', 'unit value'); | ||
vs.var('input:housenumber', 'housenumber value'); | ||
vs.var('input:street', 'street value'); | ||
vs.var('address:street:slop', 3); | ||
const actual = JSON.parse(JSON.stringify(query.render(vs))); | ||
const expected_query_clause = { | ||
match_phrase: { | ||
'address_parts.street': { | ||
query: 'street value', | ||
slop: 3 | ||
} | ||
} | ||
}; | ||
// console.error(JSON.stringify(actual, null, 2)); | ||
// console.error(JSON.stringify(expected, null, 2)); | ||
// use this object as a starting point for finding all the individual street queries to check | ||
const bool_query = actual.query.function_score.query.bool; | ||
const street_fallback_query_clause = bool_query.should[0].bool.must[0]; | ||
const address_fallback_query_clause = bool_query.should[1].bool.must[2]; | ||
t.deepEquals(street_fallback_query_clause, expected_query_clause); | ||
t.deepEquals(address_fallback_query_clause, expected_query_clause); | ||
t.end(); | ||
}); | ||
test('VariableStore without housenumber should not add must for address', (t) => { | ||
@@ -57,0 +94,0 @@ const query = new AddressesUsingIdsQuery(); |
317055
9680