@@ -34,22 +34,24 @@ type multiMatchParams struct {
3434 MinMatch string `structs:"minimum_should_match,omitempty"`
3535 ZeroTerms ZeroTerms `structs:"zero_terms_query,string,omitempty"`
3636 Slp uint16 `structs:"slop,omitempty"`
37+ Name string `structs:"_name,omitempty"`
3738}
3839
3940// 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 ... )
4243}
4344
44- func newMultiMatch (simpleQuery ... interface {}) * MultiMatchQuery {
45+ func newMultiMatch (fieldNames [] string , simpleQuery ... interface {}) * MultiMatchQuery {
4546 var qry interface {}
4647 if len (simpleQuery ) > 0 {
4748 qry = simpleQuery [len (simpleQuery )- 1 ]
4849 }
4950
5051 return & MultiMatchQuery {
5152 params : multiMatchParams {
52- Qry : qry ,
53+ Fields : fieldNames ,
54+ Qry : qry ,
5355 },
5456 }
5557}
@@ -68,12 +70,6 @@ func (q *MultiMatchQuery) Analyzer(a string) *MultiMatchQuery {
6870 return q
6971}
7072
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-
7773// AutoGenerateSynonymsPhraseQuery sets the "auto_generate_synonyms_phrase_query"
7874// boolean.
7975func (q * MultiMatchQuery ) AutoGenerateSynonymsPhraseQuery (b bool ) * MultiMatchQuery {
@@ -164,6 +160,11 @@ func (q *MultiMatchQuery) ZeroTermsQuery(s ZeroTerms) *MultiMatchQuery {
164160 return q
165161}
166162
163+ func (q * MultiMatchQuery ) Name (name string ) Mappable {
164+ q .params .Name = name
165+ return q
166+ }
167+
167168// MatchType is an enumeration type representing supported values for a
168169// multi match query's "type" parameter.
169170type MultiMatchType uint8
0 commit comments