From 198b5ecaefce6f626942918e75946002cf2fd8fc Mon Sep 17 00:00:00 2001
From: sunty <1172534965@qq.com>
Date: 星期四, 05 十二月 2019 14:55:52 +0800
Subject: [PATCH] add append target info

---
 EsApi.go |   47 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 47 insertions(+), 0 deletions(-)

diff --git a/EsApi.go b/EsApi.go
index f5cd55c..ccf41b4 100644
--- a/EsApi.go
+++ b/EsApi.go
@@ -76,6 +76,53 @@
 	return feature, nil
 }
 
+//鏍规嵁鐩爣id杩藉姞璺熻釜淇℃伅
+func AppendTargetInfo(id string,targetInfo string, indexName string, serverIp string, serverPort string)(string,error){
+	if targetInfo == ""{
+		return "",errors.New("append data is nil")
+	}
+	var info interface{}
+	url := "http://" + serverIp + ":" + serverPort + "/" + indexName + "/_update_by_query?refresh=true"
+	jsonDSL := `{
+  "query": {
+    "term":{
+      "id":"`+id+`"
+    }
+  },
+  "script": {
+    "lang": "painless",
+    "inline": "ctx._source.linkTagInfo.add(params.newparam)",
+    "params": {
+      "newparam": `+targetInfo+`
+    }
+  }
+}`
+	fmt.Println(jsonDSL)
+	buf, err := EsReq("POST", url, []byte(jsonDSL))
+	if err != nil {
+		return "",err
+	}
+	json.Unmarshal(buf,&info)
+	out, ok := info.(map[string]interface{})
+	fmt.Println(out)
+	if !ok {
+		return "",errors.New("http response interface can not change map[string]interface{}")
+	}
+	middle, ok := out["updated"].(float64)
+	if !ok {
+		return "",errors.New("first updated change error!")
+	}
+	mes := ""
+	if middle == 1 {
+		mes = "杩藉姞鎴愬姛"
+	}
+	if middle == 0 {
+		mes = "宸茬粡杩藉姞"
+	}
+	return mes,nil
+
+}
+
 //鏍规嵁鎶撴媿浜哄憳id鏇存柊锛坴ideourl锛夋憚鍍忔満鍦板潃
 func UpdateVideourlById(id string, videoUrl string, indexName string, serverIp string, serverPort string, command int) (statu int) {
 

--
Gitblit v1.8.0