@@ -34,22 +34,24 @@ type multiMatchParams struct {
34
34
MinMatch string `structs:"minimum_should_match,omitempty"`
35
35
ZeroTerms ZeroTerms `structs:"zero_terms_query,string,omitempty"`
36
36
Slp uint16 `structs:"slop,omitempty"`
37
+ Name string `structs:"_name,omitempty"`
37
38
}
38
39
39
40
// MultiMatch creates a new query of type "multi_match"
40
- func MultiMatch (simpleQuery ... interface {}) * MultiMatchQuery {
41
- return newMultiMatch (simpleQuery ... )
41
+ func MultiMatch (fieldNames [] string , simpleQuery ... interface {}) * MultiMatchQuery {
42
+ return newMultiMatch (fieldNames , simpleQuery ... )
42
43
}
43
44
44
- func newMultiMatch (simpleQuery ... interface {}) * MultiMatchQuery {
45
+ func newMultiMatch (fieldNames [] string , simpleQuery ... interface {}) * MultiMatchQuery {
45
46
var qry interface {}
46
47
if len (simpleQuery ) > 0 {
47
48
qry = simpleQuery [len (simpleQuery )- 1 ]
48
49
}
49
50
50
51
return & MultiMatchQuery {
51
52
params : multiMatchParams {
52
- Qry : qry ,
53
+ Fields : fieldNames ,
54
+ Qry : qry ,
53
55
},
54
56
}
55
57
}
@@ -68,12 +70,6 @@ func (q *MultiMatchQuery) Analyzer(a string) *MultiMatchQuery {
68
70
return q
69
71
}
70
72
71
- // Fields sets the fields used in the query
72
- func (q * MultiMatchQuery ) Fields (a ... string ) * MultiMatchQuery {
73
- q .params .Fields = append (q .params .Fields , a ... )
74
- return q
75
- }
76
-
77
73
// AutoGenerateSynonymsPhraseQuery sets the "auto_generate_synonyms_phrase_query"
78
74
// boolean.
79
75
func (q * MultiMatchQuery ) AutoGenerateSynonymsPhraseQuery (b bool ) * MultiMatchQuery {
@@ -164,6 +160,11 @@ func (q *MultiMatchQuery) ZeroTermsQuery(s ZeroTerms) *MultiMatchQuery {
164
160
return q
165
161
}
166
162
163
+ func (q * MultiMatchQuery ) Name (name string ) Mappable {
164
+ q .params .Name = name
165
+ return q
166
+ }
167
+
167
168
// MatchType is an enumeration type representing supported values for a
168
169
// multi match query's "type" parameter.
169
170
type MultiMatchType uint8
0 commit comments