UNPKG

964 BJavaScriptView Raw
1
2/**
3 this view is wrapped in a function so it can be re-used for
4 all the address[property] fields.
5**/
6
7module.exports = function( property ){
8 return function( vs ){
9
10 // validate required params
11 if( !property ||
12 !vs.isset('input:'+property) ||
13 !vs.isset('address:'+property+':analyzer') ||
14 !vs.isset('address:'+property+':field') ||
15 !vs.isset('address:'+property+':boost') ){
16 return null;
17 }
18
19 // base view
20 let view = { 'match': {} };
21
22 // match query
23 let section = view.match[ vs.var('address:'+property+':field') ] = {
24 analyzer: vs.var('address:'+property+':analyzer'),
25 boost: vs.var('address:'+property+':boost'),
26 query: vs.var('input:'+property)
27 };
28
29 // optional 'cutoff_frequency' property
30 if( vs.isset('address:'+property+':cutoff_frequency') ){
31 section.cutoff_frequency = vs.var('address:'+property+':cutoff_frequency');
32 }
33
34 return view;
35 };
36};