| | |
| | | } |
| | | |
| | | //初始化实时抓拍 |
| | | func InitRealTimeCapture(serverIp string, serverPort string, indexName string, isAlarm bool, quantity int) ([]protomsg.AIOcean, error) { |
| | | func InitRealTimeCapture(serverIp string, serverPort string, indexName string, isAlarm bool, 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":{ |
| | | queryStr := `"query":{ |
| | | "bool":{ |
| | | "filter":[ |
| | | { |
| | | "term":{ |
| | | "isAlarm":true |
| | | "isAlarm":`+strconv.FormatBool(isAlarm)+` |
| | | } |
| | | }, |
| | | { |
| | | "term":{ |
| | | "targetInfo.targetType":"`+category+`" |
| | | } |
| | | } |
| | | ] |
| | | } |
| | | },` |
| | | } |
| | | |
| | | 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 |
| | |
| | | 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":{ |
| | |
| | | } |
| | | } |
| | | }, |
| | | ` + 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)) |
| | |
| | | |
| | | //综合统计 |
| | | func StatisticsComprehensive(serverIp string, serverPort string, indexName string, isAlarm bool) (total int, err error) { |
| | | isAlarmStr := "" |
| | | if isAlarm == true { |
| | | isAlarmStr = `,{"term":{"isAlarm":true}}` |
| | | } |
| | | url := "http://" + serverIp + ":" + serverPort + |
| | | "/" + indexName + "/_search" |
| | | DSLJson := `{ |
| | |
| | | "gte":"now+8h/d" |
| | | } |
| | | } |
| | | }, |
| | | { |
| | | "term":{ |
| | | "isAlarm":`+strconv.FormatBool(isAlarm)+` |
| | | } |
| | | } |
| | | ` + isAlarmStr + ` |
| | | ] |
| | | } |
| | | } |