From efbf83e4778cb61e7da23c8a4a62b352929b40ea Mon Sep 17 00:00:00 2001 From: liuxiaolong <736321739@qq.com> Date: 星期四, 21 十一月 2019 17:56:38 +0800 Subject: [PATCH] fix --- EsApi.go | 87 +++++++++++++++++++++++-------------------- 1 files changed, 47 insertions(+), 40 deletions(-) diff --git a/EsApi.go b/EsApi.go index 6061321..f5cd55c 100644 --- a/EsApi.go +++ b/EsApi.go @@ -294,34 +294,43 @@ } //鍒濆鍖栧疄鏃舵姄鎷� -func InitRealTimeCapture(serverIp string, serverPort string, indexName string, isAlarm bool, quantity int) ([]protomsg.AIOcean, error) { +func InitRealTimeCapture(serverIp string, serverPort string, indexName string, isAlarm string, category string, quantity int) ([]protomsg.AIOcean, error) { var aIOceanInfo []protomsg.AIOcean url := "http://" + serverIp + ":" + serverPort + "/" + indexName + "/_search" - queryStr := "" - if isAlarm == true { - queryStr = `"query":{ - "match_all":{} - },` - } else { - queryStr = `"query":{ + var filterArr []string + if isAlarm != "all" { + filterArr = append(filterArr,` { + "term":{ + "isAlarm":"` + isAlarm + `" + } + }`) + } + + if category != "all" { + filterArr = append(filterArr,` { + "term":{ + "targetInfo.targetType":"` + category + `" + } + }`) + + } + + queryStr := `"query":{ "bool":{ "filter":[ - { - "term":{ - "isAlarm":true - } - } + `+strings.Join(filterArr,",")+` ] } },` - } + DSLJson := `{ "size":` + strconv.Itoa(quantity) + `, ` + queryStr + ` "sort":[{"picDate":{"order":"desc"}}], "_source": {"includes":[],"excludes":["*.feature"]} }` + fmt.Println(DSLJson) buf, err := EsReq("POST", url, []byte(DSLJson)) if err != nil { return aIOceanInfo, err @@ -342,18 +351,6 @@ var aIOceanInfo []protomsg.AIOcean url := "http://" + serverIp + ":" + serverPort + "/" + indexName + "/_search" - queryStr := "" - if isAlarm == true { - fmt.Println("continue") - } else { - queryStr = ` - { - "term":{ - "isAlarm":1 - } - } - ` - } DSLJson := `{ "size":20, "query":{ @@ -367,11 +364,15 @@ } } }, - ` + queryStr + ` + { + "term":{ + "isAlarm":` + strconv.FormatBool(isAlarm) + ` + } + } ] } }, - "_source": ["baseInfo", "alarmRules", "sex", "analyServerName", "sdkName", "ageDescription", "content", "id", "cameraAddr", "picMaxUrl", "picDate", "race", "videoUrl", "picSmUrl", "taskName", "personIsHub", "isAlarm", "analyServerIp", "cameraId", "isAckAlarm"] + "_source": {"includes":[],"excludes":["*.feature"]} }` buf, err := EsReq("POST", url, []byte(DSLJson)) @@ -390,25 +391,31 @@ } //缁煎悎缁熻 -func StatisticsComprehensive(serverIp string, serverPort string, indexName string, isAlarm bool) (total int, err error) { - isAlarmStr := "" - if isAlarm == true { - isAlarmStr = `,{"term":{"isAlarm":true}}` - } +func StatisticsComprehensive(serverIp string, serverPort string, indexName string, isAlarm string) (total int, err error) { url := "http://" + serverIp + ":" + serverPort + "/" + indexName + "/_search" + isAlarmStr := "" + if isAlarm != "all" { + isAlarmStr = ` { + "term":{ + "isAlarm":"` + isAlarm + `" + } + },` + + } DSLJson := `{ "size":0, "query":{ "bool":{ - "filter":[{ + "filter":[ + ` + isAlarmStr + ` + { "range":{ "picDate":{ "gte":"now+8h/d" } } } - ` + isAlarmStr + ` ] } } @@ -451,9 +458,9 @@ } }, "aggs":{ - "sdkId_status":{ + "sdkName_status":{ "terms":{ - "field":"taskId" + "field":"sdkName.raw" } } } @@ -472,7 +479,7 @@ if !ok { return nil, errors.New("first hits change error!") } - sdkName_status, ok := middle["sdkId_status"].(map[string]interface{}) + sdkName_status, ok := middle["sdkName_status"].(map[string]interface{}) if !ok { return nil, errors.New("first hits change error!") } @@ -484,9 +491,9 @@ fmt.Println("change to source error!") continue } - sdkId := tmpbuf["key"].(string) + sdkName := tmpbuf["key"].(string) count := int(tmpbuf["doc_count"].(float64)) - source["id"] = sdkId + source["name"] = sdkName source["value"] = count sources = append(sources, source) } -- Gitblit v1.8.0