From f4e8f206a6760bdc31734dfcb1c65916b5b76311 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期四, 22 八月 2019 12:05:58 +0800
Subject: [PATCH] add cluster

---
 extend/esutil/EsClient.go |   80 +++++++++++++++++++++++++++------------
 1 files changed, 55 insertions(+), 25 deletions(-)

diff --git a/extend/esutil/EsClient.go b/extend/esutil/EsClient.go
index dd8bc3e..bd8a28f 100644
--- a/extend/esutil/EsClient.go
+++ b/extend/esutil/EsClient.go
@@ -44,7 +44,7 @@
 		sources := []interface{}{}
 		for _, value := range dat["hits"].([]interface{}) {
 			source := value.(map[string]interface{})["_source"].(map[string]interface{})
-			source["id"] = value.(map[string]interface{})["_id"]
+			//source["id"] = source["id"]
 			/*sdkType := source["sdkType"]
 			if sdkType != nil {
 				sdk, _ := strconv.Atoi(sdkType.(string))
@@ -107,7 +107,7 @@
 	}
 	boundary := writer.Boundary()
 	close_buf := bytes.NewBufferString(fmt.Sprintf("\r\n--%s--\r\n", boundary))
-	fmt.Println("PostFormData.fileLen:",len(fileBytes))
+	fmt.Println("PostFormData.fileLen:", len(fileBytes))
 	file := bytes.NewBuffer(fileBytes)
 	request_reader := io.MultiReader(body, file, close_buf)
 
@@ -245,31 +245,61 @@
 		return dat
 	}
 }
+
 //瑙f瀽http
 func EsReq(method string, url string, parama []byte) (buf []byte, err error) {
-    timeout := time.Duration(10 * time.Second) 
-    client := http.Client{
-        Timeout: timeout,
-    }
-    request, err := http.NewRequest(method, url, bytes.NewBuffer(parama)) 
-    request.Header.Set("Content-type", "application/json")
+	timeout := time.Duration(10 * time.Second)
+	client := http.Client{
+		Timeout: timeout,
+	}
+	request, err := http.NewRequest(method, url, bytes.NewBuffer(parama))
+	request.Header.Set("Content-type", "application/json")
 
-    if err != nil {
-        fmt.Println("build request fail !")
-        return nil, err 
-    }
+	if err != nil {
+		fmt.Println("build request fail !")
+		return nil, err
+	}
 
-    resp, err := client.Do(request)
-    if err != nil{
-        fmt.Println("request error: ", err)
-        return nil, err 
-    }
+	resp, err := client.Do(request)
+	if err != nil {
+		fmt.Println("request error: ", err)
+		return nil, err
+	}
 
-    defer resp.Body.Close()
-    body, err := ioutil.ReadAll(resp.Body)
-    if err != nil {
-        fmt.Println(err) 
-        return nil , err
-    }
-    return body, nil
-}
\ No newline at end of file
+	defer resp.Body.Close()
+	body, err := ioutil.ReadAll(resp.Body)
+	if err != nil {
+		fmt.Println(err)
+		return nil, err
+	}
+	return body, nil
+}
+
+//瑙f瀽json
+func Sourcelist(buf []byte) (sources []map[string]interface{}, err error) {
+	var info interface{}
+	json.Unmarshal(buf, &info)
+	out, ok := info.(map[string]interface{})
+	if !ok {
+		return nil, errors.New("http response interface can not change map[string]interface{}")
+	}
+
+	middle, ok := out["hits"].(map[string]interface{})
+	if !ok {
+		return nil, errors.New("first hits change error!")
+	}
+	for _, in := range middle["hits"].([]interface{}) {
+		tmpbuf, ok := in.(map[string]interface{})
+		if !ok {
+			fmt.Println("change to source error!")
+			continue
+		}
+		source, ok := tmpbuf["_source"].(map[string]interface{})
+		if !ok {
+			fmt.Println("change _source error!")
+			continue
+		}
+		sources = append(sources, source)
+	}
+	return sources, nil
+}

--
Gitblit v1.8.0