You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
813 B
28 lines
813 B
2 years ago
|
// Copyright 2012-present Oliver Eilhard, John Stanford. All rights reserved.
|
||
|
// Use of this source code is governed by a MIT-license.
|
||
|
// See http://olivere.mit-license.org/license.txt for details.
|
||
|
|
||
|
package es
|
||
|
|
||
|
import "encoding/json"
|
||
|
|
||
|
// RawStringQuery can be used to treat a string representation of an ES query
|
||
|
// as a Query. Example usage:
|
||
|
//
|
||
|
// q := RawStringQuery("{\"match_all\":{}}")
|
||
|
// db.Search().Query(q).From(1).Size(100).Do()
|
||
|
type RawStringQuery string
|
||
|
|
||
|
// NewRawStringQuery ininitializes a new RawStringQuery.
|
||
|
// It is the same as RawStringQuery(q).
|
||
|
func NewRawStringQuery(q string) RawStringQuery {
|
||
|
return RawStringQuery(q)
|
||
|
}
|
||
|
|
||
|
// Source returns the JSON encoded body
|
||
|
func (q RawStringQuery) Source() (interface{}, error) {
|
||
|
var f interface{}
|
||
|
err := json.Unmarshal([]byte(q), &f)
|
||
|
return f, err
|
||
|
}
|