From b554ba0fc6f2c02f461f2b0d9640d04b91fac6d5 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期三, 20 十一月 2019 11:45:46 +0800
Subject: [PATCH] add sdkCompare funcs
---
EsApi.go | 142 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 142 insertions(+), 0 deletions(-)
diff --git a/EsApi.go b/EsApi.go
index 4535e47..ca1480d 100644
--- a/EsApi.go
+++ b/EsApi.go
@@ -791,3 +791,145 @@
return sources,nil
}
+
+
+/****************************************浠ヤ笅涓簊dkCompare姣斿缂撳瓨浣跨敤鏂规硶*********************************************/
+//鑾峰彇鏌ヨ鎬绘暟
+func GetTotal(serverIp string, serverPort string,indexName string,shards string) (total int) {
+ JsonDSL := `{"query":{"bool":{"must":[{"match_all":{}}]}},"size":0}`
+
+ url := "http://" + serverIp + ":" + serverPort+ "/" + indexName + "/_search"
+ if indexName == "videopersons" {
+ url = "http://" + serverIp + ":" + serverPort + "/" + indexName + "/_search?preference=_shards:" + shards + "|_only_local"
+ }
+ buf, err := EsReq("POST", url, []byte(JsonDSL))
+ if err != nil {
+ return
+ }
+ var info interface{}
+ json.Unmarshal(buf, &info)
+ out, ok := info.(map[string]interface{})
+ if !ok {
+ return
+ }
+ middle, ok := out["hits"].(map[string]interface{})
+ if !ok {
+ return
+ }
+ total = int(middle["total"].(float64))
+ return total
+
+}
+
+//鏌ヨ鏃堕棿娈垫暟鎹�
+func GetPeriodInfos(serverIp string, serverPort string,startTime string, endTime string, indexName string,shards string) ([]*protomsg.Esinfo, error) {
+ var dbinfos []*protomsg.Esinfo
+ url := "http://" + serverIp + ":" + serverPort + "/" + indexName + "/_search"
+ if indexName == "videopersons" {
+ url = "http://" + serverIp + ":" + serverPort + "/" + indexName + "/_search?preference=_shards:" + shards + "|_only_local"
+ }
+ JsonDSL := `
+ {
+ "query": {
+ "bool": {
+ "filter": [{
+ "range": {
+ "picDate": {
+ "gte": "` + startTime + `",
+ "lt": "` + endTime + `"
+ }
+ }
+ }]
+ }
+ },
+ "size": 1000000,
+ "_source": [
+ "id",
+ "tableId",
+ "faceFeature",
+ "analyServerId"
+ ]
+
+ }
+ `
+ //logger.Debug(url)
+ //logger.Debug(JsonDSL)
+ buf, err := EsReq("POST", url, []byte(JsonDSL))
+ if err != nil {
+ return dbinfos, errors.New("http request dbtablename info is err!")
+ }
+
+ // 杩斿洖 _source 鏁扮粍
+ sources, err := Sourcelist(buf)
+ if err != nil {
+ return dbinfos, err
+ }
+
+ // 杩斿洖鎵�鏈夋煡璇㈢殑鏁版嵁
+ dbpersoninfos := Parsesources(sources)
+ return dbpersoninfos, nil
+
+}
+
+// 鏌ヨ搴曞簱浜哄憳淇℃伅
+func GetOceanFeatures(serverIp string, serverPort string,queryIndexNum int, queryNums int, indexName string, shards string) ([]*protomsg.Esinfo, error) {
+ var dbinfos []*protomsg.Esinfo
+ point := strconv.Itoa(queryIndexNum)
+ number := strconv.Itoa(queryNums)
+ JsonDSL := ""
+ url := "http://" + serverIp + ":" + serverPort + "/" + indexName + "/_search"
+ if indexName == "videopersons" {
+ url = "http://" + serverIp + ":" + serverPort + "/" + indexName + "/_search?preference=_shards:" + shards + "|_only_local"
+ JsonDSL = ` {
+ "from": ` + point + `,
+ "query": {
+ "match_all": {}
+ },
+ "size":` + number + `,
+ "_source": [
+ "id",
+ "tableId",
+ "faceFeature",
+ "analyServerId"
+ ]
+ }`
+ } else { //鏌ュ簳搴撴湁鏁堜汉鍛�
+ JsonDSL = ` {
+ "from": ` + point + `,
+ "query": {
+ "bool": {
+ "filter":[{
+ "term":{
+ "enable":1
+ }
+ },{
+ "term":{
+ "isDelete":0
+ }
+ }]
+ }
+ },
+ "size":` + number + `,
+ "_source": [
+ "id",
+ "tableId",
+ "faceFeature"
+ ]
+ }`
+ }
+
+ buf, err := EsReq("POST", url, []byte(JsonDSL))
+ if err != nil {
+ return dbinfos, errors.New("http request dbtablename info is err!")
+ }
+
+ // 杩斿洖 _source 鏁扮粍
+ sources, err := Sourcelist(buf)
+ if err != nil {
+ return dbinfos, err
+ }
+
+ // 杩斿洖鎵�鏈夋煡璇㈢殑鏁版嵁
+ dbpersoninfos := Parsesources(sources)
+ return dbpersoninfos, nil
+}
--
Gitblit v1.8.0