-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfunction_score_query_test.go
More file actions
91 lines (84 loc) · 2.06 KB
/
function_score_query_test.go
File metadata and controls
91 lines (84 loc) · 2.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
package picker_test
import (
"testing"
"encoding/json"
"github.com/chanced/picker"
"github.com/stretchr/testify/require"
)
func TestFunctionScoreQuery(t *testing.T) {
assert := require.New(t)
s, err := picker.NewSearch(picker.SearchParams{
Query: &picker.QueryParams{
FunctionScore: &picker.FunctionScoreQueryParams{
Functions: picker.Funcs{
picker.ExpDecayFunctionParams{},
},
},
},
})
_ = s
assert.ErrorIs(err, picker.ErrFieldRequired)
_, err = picker.NewSearch(picker.SearchParams{
Query: &picker.QueryParams{
FunctionScore: &picker.FunctionScoreQueryParams{
Functions: picker.Funcs{
picker.ExpDecayFunctionParams{
Field: "field",
},
},
},
},
})
assert.ErrorIs(err, picker.ErrOriginRequired)
_, err = picker.NewSearch(picker.SearchParams{
Query: &picker.QueryParams{
FunctionScore: &picker.FunctionScoreQueryParams{
Functions: picker.Funcs{
picker.ExpDecayFunctionParams{
Field: "field",
Origin: "sdf",
},
},
},
},
})
assert.ErrorIs(err, picker.ErrScaleRequired)
s, err = picker.NewSearch(picker.SearchParams{
Query: &picker.QueryParams{
FunctionScore: &picker.FunctionScoreQueryParams{
Query: &picker.QueryParams{
Term: &picker.TermQueryParams{
Field: "query_term_field",
Value: "query_term_value",
Boost: 3,
CaseInsensitive: true,
Name: "query_term",
},
},
Functions: picker.Funcs{
picker.ExpDecayFunctionParams{
Field: "fieldName",
Origin: "sdf",
Scale: 34,
Weight: 21,
Offset: 7,
Decay: "34",
Filter: picker.TermQueryParams{
Field: "term_field",
Value: "term_value",
Boost: 34,
CaseInsensitive: true,
Name: "term_name",
},
},
},
},
},
})
assert.NoError(err)
data, err := json.MarshalIndent(s.Query().FunctionScore(), "", " ")
assert.NoError(err)
var fs picker.FunctionScoreQuery
err = json.Unmarshal(data, &fs)
assert.NoError(err)
}