package es import ( "github.com/imroc/req" "math/rand" "search_server/pkg/config" ) type Response struct { Took int `json:"took"` TimeOut bool `json:"time_out"` Shard map[string]int `json:"_shard"` HitsResult HitsResult `json:"hits"` } type HitsResult struct { Total int `json:"total"` MaxScore float64 `json:"max_score"` Hits string `json:"hits"` } func CurlES(index string, param string) (result string, err error) { endpoints := config.Get("es.urls").Strings(",") //随机获取一个节点进行请求 esUrl := endpoints[rand.Intn(len(endpoints))] params := req.BodyJSON(param) resp, err := req.Get(esUrl+"/"+index+"/_search", params) if err != nil { return } result = resp.String() return }