diff --git a/query/autocomplete.js b/query/autocomplete.js index 8d4cf257..f5b37982 100644 --- a/query/autocomplete.js +++ b/query/autocomplete.js @@ -7,7 +7,6 @@ const logger = require('pelias-logger').get('api'); // additional views (these may be merged in to pelias/query at a later date) var views = { ngrams_strict: require('./view/ngrams_strict'), - focus_selected_layers: require('./view/focus_selected_layers'), ngrams_last_token_only: require('./view/ngrams_last_token_only'), phrase_first_tokens_only: require('./view/phrase_first_tokens_only'), pop_subquery: require('./view/pop_subquery'), @@ -42,7 +41,7 @@ query.score( peliasQuery.view.admin('neighbourhood') ); // scoring boost query.score( views.boost_exact_matches ); -query.score( views.focus_selected_layers( views.ngrams_strict ) ); +query.score( peliasQuery.view.focus( views.ngrams_strict ) ); query.score( peliasQuery.view.popularity( views.pop_subquery ) ); query.score( peliasQuery.view.population( views.pop_subquery ) ); diff --git a/query/view/focus_selected_layers.js b/query/view/focus_selected_layers.js deleted file mode 100644 index 4fda1780..00000000 --- a/query/view/focus_selected_layers.js +++ /dev/null @@ -1,38 +0,0 @@ -var peliasQuery = require('pelias-query'); - -/** - This view is the same as `peliasQuery.view.focus` with one exception: - - if the view is generated successfully, we add a 'filter' clause which - restricts the targeted '_type' to be in the list specified below. - - documents which are not in the '_type' list below will simply score 0 for - this section of the query. -**/ - -module.exports = function( subview ){ - return function( vs ){ - - // don't perform this query on single character inputs - // as its too unperformant to sort a large part of the index. - if( vs.var('input:name').get().length < 2 ){ - return null; - } - - if( !subview ){ return null; } // subview validation failed - var macroView = peliasQuery.view.focus( subview ); - if( !macroView ){ return null; } // macroView validation failed - var view = macroView( vs ); - - if( view && view.hasOwnProperty('function_score') ){ - view.function_score.filter = { - 'or': [ - { 'term': { 'layer': 'venue' } }, - { 'term': { 'layer': 'address' } } - ] - }; - } - - return view; - }; -}; diff --git a/test/unit/fixture/autocomplete_linguistic_focus.js b/test/unit/fixture/autocomplete_linguistic_focus.js index 219bea36..2acc0e1d 100644 --- a/test/unit/fixture/autocomplete_linguistic_focus.js +++ b/test/unit/fixture/autocomplete_linguistic_focus.js @@ -46,21 +46,7 @@ module.exports = { 'weight': 15 }], 'score_mode': 'avg', - 'boost_mode': 'replace', - 'filter': { - 'or': [ - { - 'term': { - 'layer': 'venue' - } - }, - { - 'term': { - 'layer': 'address' - } - } - ] - } + 'boost_mode': 'replace' } },{ 'function_score': { diff --git a/test/unit/fixture/autocomplete_linguistic_focus_null_island.js b/test/unit/fixture/autocomplete_linguistic_focus_null_island.js index 80e44f81..d3029455 100644 --- a/test/unit/fixture/autocomplete_linguistic_focus_null_island.js +++ b/test/unit/fixture/autocomplete_linguistic_focus_null_island.js @@ -46,21 +46,7 @@ module.exports = { 'weight': 15 }], 'score_mode': 'avg', - 'boost_mode': 'replace', - 'filter': { - 'or': [ - { - 'term': { - 'layer': 'venue' - } - }, - { - 'term': { - 'layer': 'address' - } - } - ] - } + 'boost_mode': 'replace' } },{ 'function_score': {