47 lines
954 B
Go
47 lines
954 B
Go
package esquery
|
|
|
|
import "github.com/fatih/structs"
|
|
|
|
/*******************************************************************************
|
|
* Match All Queries
|
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-all-query.html
|
|
******************************************************************************/
|
|
|
|
type MatchAllQuery struct {
|
|
all bool
|
|
params matchAllParams
|
|
}
|
|
|
|
type matchAllParams struct {
|
|
Boost float32 `structs:"boost,omitempty"`
|
|
}
|
|
|
|
func (a *MatchAllQuery) Map() map[string]interface{} {
|
|
var mType string
|
|
switch a.all {
|
|
case true:
|
|
mType = "match_all"
|
|
default:
|
|
mType = "match_none"
|
|
}
|
|
|
|
return map[string]interface{}{
|
|
mType: structs.Map(a.params),
|
|
}
|
|
}
|
|
|
|
func MatchAll() *MatchAllQuery {
|
|
return &MatchAllQuery{all: true}
|
|
}
|
|
|
|
func (q *MatchAllQuery) Boost(b float32) *MatchAllQuery {
|
|
if q.all {
|
|
q.params.Boost = b
|
|
}
|
|
return q
|
|
}
|
|
|
|
func MatchNone() *MatchAllQuery {
|
|
return &MatchAllQuery{all: false}
|
|
}
|