| | |
| | | return sources,nil |
| | | |
| | | } |
| | | |
| | | |
| | | /****************************************以下为sdkCompare比对缓存使用方法*********************************************/ |
| | | //获取查询总数 |
| | | 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 |
| | | } |