UNPKG

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