From 6a413e1d7d485f506e81c669bc692868c29cefb9 Mon Sep 17 00:00:00 2001
From: sunty <1172534965@qq.com>
Date: 星期四, 18 七月 2019 17:37:25 +0800
Subject: [PATCH] fix sdkcompare

---
 esutil/EsApi.go |  122 +++++++++++++++++++++++++++++++++-------
 1 files changed, 99 insertions(+), 23 deletions(-)

diff --git a/esutil/EsApi.go b/esutil/EsApi.go
index 7893b16..0cdc863 100644
--- a/esutil/EsApi.go
+++ b/esutil/EsApi.go
@@ -2,18 +2,41 @@
 
 import (
         "errors"
-        "strconv"
+    "fmt"
+    "strconv"
+    "strings"
 
-        "basic.com/pubsub/protomsg.git"
+    "basic.com/pubsub/protomsg.git"
         )
 
 // 鏌ヨ搴曞簱浜哄憳淇℃伅
-func DbPersoninfos( queryindex int, querynums int ) ([]*protomsg.Esinfo, error){
+func Personinfos( queryIndex int, queryNums int, indexName string, serverIp string, serverPort string, analyServerId string) ([]*protomsg.Esinfo, error){
             var dbinfos []*protomsg.Esinfo
-            point   := strconv.Itoa(queryindex)
-            number   := strconv.Itoa(querynums)
-
-            var dbinfoRequest =  `  {
+            point   := strconv.Itoa(queryIndex)
+            number   := strconv.Itoa(queryNums)
+            JsonDSL  := ""
+            if indexName == "videopersons" {
+                 JsonDSL =  `  {
+                    "from": ` + point +  `, 
+                    "query": {
+                        "bool": {
+                            "filter": [
+                                {
+                                    "term": {
+                                        "analyServerId": "` + analyServerId + `"
+                                    }
+                                }
+                            ]
+                        }
+                    },
+                    "size":`+ number +`,
+                    "_source": [
+                        "id",
+                        "faceFeature"
+                    ]
+                }`
+            }else {
+                 JsonDSL =  `  {
                     "from": ` + point +  `,        
                     "query": {
                         "match_all": {}
@@ -25,8 +48,9 @@
                        "faceFeature"
                        ]
                     }`
-
-    buf, err := EsReq("POST", "http://192.168.1.182:9200/dbtablepersons/dbpersons/_search",[]byte(dbinfoRequest))
+            }
+            fmt.Println("url: "+"http://"+serverIp+":"+serverPort+"/"+indexName+"/_search","body: ",JsonDSL)
+    buf, err := EsReq("POST", "http://"+serverIp+":"+serverPort+"/"+indexName+"/_search",[]byte(JsonDSL))
     if err != nil {
         return dbinfos ,errors.New("http request dbtablename info is err!")
     }
@@ -43,22 +67,74 @@
 }
 
 // 鏍规嵁搴曞簱id鏌ヨ搴曞簱淇℃伅
-//func Dbpersoninfosbyid (id string) (protomsg.Baseinfo, error) {
-//    var dbinfo protomsg.Baseinfo
-//
-//    url := fmt.Sprintf("http://192.168.1.182:9200/dbtablepersons/dbpersons/_search", id)
-//    buf, err := EsReq("POST", "http://192.168.1.182:9200/dbtablepersons/dbpersons/_search",[]byte(dbinfoRequest))
-//    if err != nil {
-//        return dbinfo, nil 
-//    }
-//
-//    sources, err := Sourcelist(buf)
-//    if err != nil {}
-//}
+func Dbtablefosbyid (id []string, indexName string, serverIp string, serverPort string) ([]protomsg.Dbtable, error) {
+    var dbinfo []protomsg.Dbtable
+    dbtableId := strings.Replace(strings.Trim(fmt.Sprint(id), "[]"), " ", "\",\"", -1)
+        var dbinfoRequest = `
+            {
+            	"query": {
+            		"bool": {
+            			"filter": [{
+            				"terms": {
+            					"id": [
+            						"`+ dbtableId +`"
+            					]
+            				}
+            			}]
+            		}
+            	}
+            }
+        `
+    buf, err := EsReq("POST", "http://"+serverIp+":"+serverPort+"/"+indexName+"/_search",[]byte(dbinfoRequest))
+    if err != nil {
+        return dbinfo,  err
+    }
 
+    sources, err := Sourcelist(buf)
+    if err != nil {
+        return dbinfo , err
+    }
+
+    dbtable := Dbtablebyid(sources)
+    return dbtable, nil
+}
+
+// 鏍规嵁搴曞簱浜哄憳id鏌ヨ搴曞簱浜哄憳淇℃伅
+func Dbpersoninfosbyid (id []string, indexName string, serverIp string, serverPort string) ([]protomsg.Dbperson, error) {
+    var dbinfo []protomsg.Dbperson
+    dbtablePersonId := strings.Replace(strings.Trim(fmt.Sprint(id), "[]"), " ", "\",\"", -1)
+    var dbinfoRequest = `
+            {
+            	"query": {
+            		"bool": {
+            			"filter": [{
+            				"terms": {
+            					"id": [
+            						"`+ dbtablePersonId +`"
+            					]
+            				}
+            			}]
+            		}
+            	}
+            }
+        `
+    buf, err := EsReq("POST", "http://"+serverIp+":"+serverPort+"/"+indexName+"/_search",[]byte(dbinfoRequest))
+    if err != nil {
+        return dbinfo,  err
+    }
+
+    sources, err := Sourcelist(buf)
+    if err != nil {
+        return dbinfo , err
+    }
+
+    dbperson := Dbpersonbyid(sources)
+    println(dbperson)
+    return dbperson,nil
+}
 
 // 鏍规嵁tableid 鏌ヨtablename
-func Dbtablename(tableid string ) (tablename string, err error) {
+func Dbtablename(tableid string, indexName string, serverIp string, serverPort string) (tablename string, err error) {
     var dbinfotable =` {
         "query": {
             "bool": {
@@ -76,7 +152,7 @@
         ]
     }
     `
-    buf, err := EsReq("POST", "http://192.168.1.182:9200/dbtables/_search",[]byte(dbinfotable))
+    buf, err := EsReq("POST", "http://"+serverIp+":"+serverPort+"/"+indexName+"/_search",[]byte(dbinfotable))
     if err != nil {
         return "" ,errors.New("http request dbtablename info is err!")
     }

--
Gitblit v1.8.0