diff --git a/query/autocomplete.js b/query/autocomplete.js index 951962be..79221edf 100644 --- a/query/autocomplete.js +++ b/query/autocomplete.js @@ -45,6 +45,30 @@ query.score( views.boost_exact_matches ); query.score( views.focus_selected_layers( views.ngrams_strict ) ); query.score( peliasQuery.view.popularity( views.pop_subquery ) ); query.score( peliasQuery.view.population( views.pop_subquery ) ); +query.score( function() { return { + terms: { + layer: [ "country", "region", "locality", "localadmin", "county", "borough"], + boost: 3 + } +} }); + +query.score( function() { return { + bool: { + must: [{ + terms: { + source: [ "whosonfirst"], + boost: 1.1 + } + }, + { + terms: { + layer: [ "country", "region", "locality", "localadmin", "county", "borough"], + } + } + ] + } + }; +}); // non-scoring hard filters query.filter( peliasQuery.view.sources ); @@ -128,9 +152,13 @@ function generateQuery( clean ){ textParser( clean.parsed_text, vs ); } + var q = query.render(vs); + + console.log(JSON.stringify(q, null, 2)); + return { type: 'autocomplete', - body: query.render(vs) + body: q }; } diff --git a/query/search.js b/query/search.js index 41e5775f..df4271be 100644 --- a/query/search.js +++ b/query/search.js @@ -114,7 +114,7 @@ function generateQuery( clean ){ var q = getQuery(vs); - //console.log(JSON.stringify(q, null, 2)); + console.log(JSON.stringify(q, null, 2)); return q; } diff --git a/query/search_original.js b/query/search_original.js index e4a0dc66..711c6280 100644 --- a/query/search_original.js +++ b/query/search_original.js @@ -25,6 +25,32 @@ query.score( peliasQuery.view.phrase ); query.score( peliasQuery.view.focus( peliasQuery.view.phrase ) ); query.score( peliasQuery.view.popularity( peliasQuery.view.phrase ) ); query.score( peliasQuery.view.population( peliasQuery.view.phrase ) ); +query.score( function() { return { + query: { + terms: { + layer: [ "country", "region", "locality", "localadmin", "borough"], + boost: 5 + } + } +} }); + +query.score( function() { return { + query: { + terms: { + layer: [ "county"], + boost: 3 + } + } +} }); + +query.score( function() { return { + query: { + terms: { + source: [ "whosonfirst"], + boost: 3 + } + } +} }); // address components query.score( peliasQuery.view.address('housenumber') ); @@ -125,9 +151,13 @@ function generateQuery( clean ){ textParser( clean.parsed_text, vs ); } + var q = query.render(vs); + + console.log(JSON.stringify(q, null, 2)); + return { type: 'original', - body: query.render(vs) + body: q }; }