MCPcopy Create free account
hub / github.com/olivere/elastic / Source

Method Source

search_queries_script_score.go:63–110  ·  view source on GitHub ↗

Source returns JSON for the function score query.

()

Source from the content-addressed store, hash-verified

61
62// Source returns JSON for the function score query.
63func (q *ScriptScoreQuery) Source() (interface{}, error) {
64 // {
65 // "script_score" : {
66 // "query" : {
67 // "match" : { "message": "elasticsearch" }
68 // },
69 // "script" : {
70 // "source" : "doc['likes'].value / 10"
71 // }
72 // }
73 // }
74
75 source := make(map[string]interface{})
76 query := make(map[string]interface{})
77 source["script_score"] = query
78
79 if q.query == nil {
80 return nil, errors.New("ScriptScoreQuery: Query is missing")
81 }
82 if q.script == nil {
83 return nil, errors.New("ScriptScoreQuery: Script is missing")
84 }
85
86 if src, err := q.query.Source(); err != nil {
87 return nil, err
88 } else {
89 query["query"] = src
90 }
91
92 if src, err := q.script.Source(); err != nil {
93 return nil, err
94 } else {
95 query["script"] = src
96 }
97
98 if v := q.minScore; v != nil {
99 query["min_score"] = *v
100 }
101
102 if v := q.boost; v != nil {
103 query["boost"] = *v
104 }
105 if q.queryName != "" {
106 query["_name"] = q.queryName
107 }
108
109 return source, nil
110}

Callers

nothing calls this directly

Calls 1

SourceMethod · 0.65

Tested by

no test coverage detected