From 6237d3adfa151dbc034ae1ac46d06fff888e3494 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期五, 18 十月 2019 11:13:37 +0800
Subject: [PATCH] add GetEsDataReq
---
EsClient.go | 48 +++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 47 insertions(+), 1 deletions(-)
diff --git a/EsClient.go b/EsClient.go
index 8b2afb9..1f2d4bc 100644
--- a/EsClient.go
+++ b/EsClient.go
@@ -5,14 +5,60 @@
"encoding/json"
"errors"
"fmt"
+ "io"
"io/ioutil"
"net/http"
"strconv"
- "time"
+ "strings"
+ "time"
"basic.com/pubsub/protomsg.git"
)
+func GetEsDataReq(url string, parama string, isSource bool) map[string]interface{} {
+ //fmt.Println("es 鏌ヨ璇锋眰璺緞" + url) // 閰嶇疆淇℃伅 鑾峰彇
+ var dat map[string]interface{}
+ req, err := http.NewRequest("POST", url, strings.NewReader(parama))
+ req.Header.Add("Content-Type", "application/json")
+ timeout := time.Duration(10 * time.Second) //瓒呮椂鏃堕棿50ms
+ client := &http.Client{Timeout: timeout}
+ resp, err := client.Do(req)
+ if err != nil {
+ fmt.Println(err)
+ return dat
+ }
+ defer resp.Body.Close()
+ dec := json.NewDecoder(resp.Body)
+ if err := dec.Decode(&dat); err == io.EOF {
+ fmt.Println(err.Error())
+ return dat
+ } else if err != nil {
+ fmt.Println(err.Error())
+ return dat
+ }
+ // 鏄惁闇�瑕� 瑙f瀽 es 杩斿洖鐨� source
+ if isSource {
+ dat = dat["hits"].(map[string]interface{})
+ var data = make(map[string]interface{}, 2)
+ data["total"] = dat["total"]
+ sources := []interface{}{}
+ for _, value := range dat["hits"].([]interface{}) {
+ source := value.(map[string]interface{})["_source"].(map[string]interface{})
+ //source["id"] = source["id"]
+ /*sdkType := source["sdkType"]
+ if sdkType != nil {
+ sdk, _ := strconv.Atoi(sdkType.(string))
+ source["sdkType"] = sdkTypeToValue(sdk)
+ }*/
+ sources = append(sources, source)
+ }
+ data["datalist"] = sources
+ return data
+ } else {
+ return dat
+ }
+
+}
func Parsesources(sources []map[string]interface{}) (esinfos []*protomsg.Esinfo) {
var ok bool
--
Gitblit v1.8.0