UNPKG

822 BJavaScriptView Raw
1
2module.exports = function( vs ){
3
4 // validate required params
5 if( !vs.isset('input:name') ||
6 !vs.isset('phrase:analyzer') ||
7 !vs.isset('phrase:field') ||
8 !vs.isset('phrase:boost') ||
9 !vs.isset('phrase:slop') ){
10 return null;
11 }
12
13 // base view
14 var view = { 'match': {} };
15
16 // match query
17 view.match[ vs.var('phrase:field') ] = {
18 analyzer: vs.var('phrase:analyzer'),
19 type: 'phrase',
20 boost: vs.var('phrase:boost'),
21 slop: vs.var('phrase:slop'),
22 query: vs.var('input:name')
23 };
24
25 if (vs.isset('phrase:fuzziness')) {
26 view.match[ vs.var('phrase:field') ].fuzziness = vs.var('phrase:fuzziness');
27 }
28
29 if (vs.isset('phrase:cutoff_frequency')) {
30 view.match[ vs.var('phrase:field') ].cutoff_frequency = vs.var('phrase:cutoff_frequency');
31 }
32
33 return view;
34};