| | |
| | | if err != nil { |
| | | return "", err |
| | | } |
| | | |
| | | feature := sources[0]["targetInfo"].([]interface{})[0].(map[string]interface{})["feature"].(string) |
| | | return feature, nil |
| | | } |
| | |
| | | return statu |
| | | } |
| | | |
| | | //获取当前节点抓拍库所有人员ID |
| | | //获取当前节点抓拍库所有人员ID*缓存* |
| | | func GetAllLocalVideopersonsId(compareArgs protomsg.CompareArgs, indexName string, serverIp string, serverPort string, alarmLevelTypes string) (capturetable []string) { |
| | | queryStr := "" |
| | | queryBody := compareArgs.InputValue |
| | |
| | | } |
| | | |
| | | /****************************************以下为sdkCompare比对缓存使用方法*********************************************/ |
| | | //获取查询总数 |
| | | func GetTotal(serverIp string, serverPort string, indexName string, shards string) (total int) { |
| | | //获取查询总数 *缓存* |
| | | func GetTotal(serverIp string, serverPort string, indexName string, shards string, targetType string) (total int) { |
| | | JsonDSL := `{ |
| | | "size": 0, |
| | | "query": { |
| | | "bool": { |
| | | "filter": [{ |
| | | "term": { |
| | | "targetInfo.targetType.raw": "face" |
| | | "targetInfo.targetType.raw": "`+targetType+`" |
| | | } |
| | | }] |
| | | } |
| | | } |
| | | }` |
| | | |
| | | url := "http://" + serverIp + ":" + serverPort + "/" + indexName + "/_search" |
| | | url := "http://" + serverIp + ":" + serverPort + "/" + indexName + "/_search?preference=_shards:" + shards + "|_only_local" |
| | | buf, err := EsReq("POST", url, []byte(JsonDSL)) |
| | | if err != nil { |
| | | return |
| | |
| | | |
| | | } |
| | | |
| | | //查询时间段数据 |
| | | func GetPeriodInfos(serverIp string, serverPort string, startTime string, endTime string, indexName string, shards string) ([]*protomsg.Esinfo, error) { |
| | | var capdbinfo []*protomsg.Esinfo |
| | | //查询时间段数据 *缓存* |
| | | func GetPeriodInfos(serverIp string, serverPort string, startTime string, endTime string, indexName string, shards string, targetType string) ([]*protomsg.MultiFeaCache, error) { |
| | | var capdbinfo []*protomsg.MultiFeaCache |
| | | url := "http://" + serverIp + ":" + serverPort + "/" + indexName + "/_search?preference=_shards:" + shards + "|_only_local" |
| | | |
| | | var source []string |
| | | switch targetType { |
| | | case "face": |
| | | source = []string{"id","targetInfo.feature","analyServerId","cameraId"} |
| | | case "track": |
| | | source = []string{"id","targetInfo.feature","analyServerId","cameraId","targetInfo.attachTarget.feature","linkTagInfo.targetInfo.feature","linkTagInfo.targetInfo.attachTarget.feature","linkTagInfo.cameraId"} |
| | | } |
| | | JsonDSL := ` |
| | | { |
| | | "query": { |
| | |
| | | "filter": [ |
| | | { |
| | | "term": { |
| | | "targetInfo.targetType.raw": "face" |
| | | "targetInfo.targetType.raw": "`+targetType+`" |
| | | } |
| | | }, |
| | | { |
| | |
| | | } |
| | | }, |
| | | "size": 1000000, |
| | | "_source": [ |
| | | "id", |
| | | "targetInfo.feature", |
| | | "analyServerId" |
| | | ] |
| | | "_source": ["`+strings.Replace(strings.Trim(fmt.Sprint(source), "[]"), " ", "\",\"", -1)+`"] |
| | | } |
| | | ` |
| | | //logger.Debug(url) |
| | | //logger.Debug(JsonDSL) |
| | | //fmt.Println(JsonDSL) |
| | | buf, err := EsReq("POST", url, []byte(JsonDSL)) |
| | | if err != nil { |
| | | return capdbinfo, errors.New("http request dbtablename info is err!") |
| | |
| | | if err != nil { |
| | | return capdbinfo, err |
| | | } |
| | | |
| | | //fmt.Println(sources) |
| | | // 返回所有查询的数据 |
| | | capdbinfos := Parsesources(sources) |
| | | return capdbinfos, nil |
| | | |
| | | } |
| | | |
| | | // 查询底库人员信息 |
| | | func GetOceanFeatures(serverIp string, serverPort string, queryIndexNum int, queryNums int, indexName string, shards string) ([]*protomsg.Esinfo, error) { |
| | | var dbinfos []*protomsg.Esinfo |
| | | // 查询底库人员信息*缓存* |
| | | func GetOceanFeatures(serverIp string, serverPort string, queryIndexNum int, queryNums int, indexName string, shards string, targetType string) ([]*protomsg.MultiFeaCache, error) { |
| | | var dbinfos []*protomsg.MultiFeaCache |
| | | point := strconv.Itoa(queryIndexNum) |
| | | number := strconv.Itoa(queryNums) |
| | | JsonDSL := "" |
| | | var source []string |
| | | switch targetType { |
| | | case "face": |
| | | source = []string{"id","targetInfo.feature","analyServerId"} |
| | | case "track": |
| | | source = []string{"id","targetInfo.feature","analyServerId","targetInfo.attachTarget.feature","linkTagInfo.targetInfo.feature","linkTagInfo.targetInfo.attachTarget.feature"} |
| | | } |
| | | |
| | | url := "http://" + serverIp + ":" + serverPort + "/" + indexName + "/_search?preference=_shards:" + shards + "|_only_local" |
| | | JsonDSL = ` { |
| | | "from": ` + point + `, |
| | |
| | | "filter": [ |
| | | { |
| | | "term": { |
| | | "targetInfo.targetType.raw": "face" |
| | | "targetInfo.targetType.raw": "`+targetType+`" |
| | | } |
| | | } |
| | | ] |
| | | } |
| | | }, |
| | | "size":` + number + `, |
| | | "_source": [ |
| | | "id", |
| | | "targetInfo.feature", |
| | | "analyServerId" |
| | | ] |
| | | "_source": ["`+strings.Replace(strings.Trim(fmt.Sprint(source), "[]"), " ", "\",\"", -1)+`"] |
| | | }` |
| | | |
| | | buf, err := EsReq("POST", url, []byte(JsonDSL)) |