From 78265dd08a17210ac67c1f82e2514b572c4734c8 Mon Sep 17 00:00:00 2001 From: sunty <1172534965@qq.com> Date: 星期五, 12 七月 2019 15:42:01 +0800 Subject: [PATCH] fix query by id Multiple Id ([]id) --- esutil/EsClient.go | 389 ++++++++++++++++++++++++++++--------------------------- 1 files changed, 196 insertions(+), 193 deletions(-) diff --git a/esutil/EsClient.go b/esutil/EsClient.go index 636e7ca..9972c13 100644 --- a/esutil/EsClient.go +++ b/esutil/EsClient.go @@ -1,233 +1,236 @@ package esutil import ( - "bytes" - "encoding/json" - "errors" - "fmt" - "io/ioutil" - "net/http" - "time" + "bytes" + "encoding/json" + "errors" + "fmt" + "io/ioutil" + "net/http" + "time" - "basic.com/pubsub/protomsg.git" + "basic.com/pubsub/protomsg.git" ) + func Parsesources(sources []map[string]interface{}) (esinfos []*protomsg.Esinfo) { - var ok bool - for _, source := range sources { - var tmpinfo protomsg.Esinfo - tmpinfo.FaceFeature, ok = source["faceFeature"].(string) - if !ok { - continue - } + var ok bool + for _, source := range sources { + var tmpinfo protomsg.Esinfo + tmpinfo.FaceFeature, ok = source["faceFeature"].(string) + if !ok { + continue + } - tmpinfo.Id, ok = source["id"].(string) - if !ok { - continue - } - tmpinfo.Tableid, ok = source["tableId"].(string) - if !ok { - continue - } + tmpinfo.Id, ok = source["id"].(string) + if !ok { + continue + } + tmpinfo.Tableid, ok = source["tableId"].(string) + if !ok { + continue + } - esinfos = append(esinfos, &tmpinfo) + esinfos = append(esinfos, &tmpinfo) - // tmpinfo.PersonName,ok = source["personName"].(string) - // Isnil("personName", ok) - // tmpinfo.PersonPicUrl,ok = source["personPicUrl"].(string) - // Isnil("personPicUrl", ok) - // tmpinfo.PhoneNum,ok = source["phoneNum"].(string) - // Isnil("phoneNum", ok) - // tmpinfo.Sex,ok = source["sex"].(string) - // Isnil("sex", ok) - // tmpinfo.Idcard,ok = source["idCard"].(string) - // Isnil("idCard", ok) - // tmpinfo.MonitorLevel,ok = source["monitorLevel"].(string) +// tmpinfo.PersonName,ok = source["personName"].(string) +// Isnil("personName", ok) +// tmpinfo.PersonPicUrl,ok = source["personPicUrl"].(string) +// Isnil("personPicUrl", ok) +// tmpinfo.PhoneNum,ok = source["phoneNum"].(string) +// Isnil("phoneNum", ok) +// tmpinfo.Sex,ok = source["sex"].(string) +// Isnil("sex", ok) +// tmpinfo.Idcard,ok = source["idCard"].(string) +// Isnil("idCard", ok) +// tmpinfo.MonitorLevel,ok = source["monitorLevel"].(string) - // 鏍规嵁 tableid 鑾峰彇 tablename - // name, _:= Dbtablename(tmpinfo.TableId) - // tmpinfo.TableName= name - // binfos.Infos = append(binfos.Infos, &tmpinfo) + // 鏍规嵁 tableid 鑾峰彇 tablename +// name, _:= Dbtablename(tmpinfo.TableId) +// tmpinfo.TableName= name +// binfos.Infos = append(binfos.Infos, &tmpinfo) - } - return + } + return } - //瑙f瀽搴曞簱浜哄憳缁撴瀯 -func Dbpersonbyid(sources []map[string]interface{}) protomsg.Dbperson { - var ok bool +func Dbpersonbyid(sources []map[string]interface{}) (tmpinfos []protomsg.Dbperson) { + var ok bool - var tmpinfo protomsg.Dbperson - for _, source := range sources { - tmpinfo.FaceFeature, ok = source["faceFeature"].(string) - if !ok { - continue - } + var tmpinfo protomsg.Dbperson + for _, source := range sources{ + tmpinfo.FaceFeature, ok = source["faceFeature"].(string) + if !ok { + continue + } - tmpinfo.Id, ok = source["id"].(string) - if !ok { - continue - } + tmpinfo.Id, ok = source["id"].(string) + if !ok { + continue + } - tmpinfo.TableId, ok = source["tableId"].(string) - if !ok { - continue - } + tmpinfo.TableId, ok = source["tableId"].(string) + if !ok { + continue + } - tmpinfo.PersonName, ok = source["personName"].(string) - Isnil("personName", ok) - tmpinfo.PersonPicUrl, ok = source["personPicUrl"].(string) - Isnil("personPicUrl", ok) - tmpinfo.PhoneNum, ok = source["phoneNum"].(string) - Isnil("phoneNum", ok) - tmpinfo.Sex, ok = source["sex"].(string) - Isnil("sex", ok) - tmpinfo.IdCard, ok = source["idCard"].(string) - Isnil("idCard", ok) - tmpinfo.MonitorLevel, ok = source["monitorLevel"].(string) - Isnil("monitorLevel", ok) - tmpinfo.UpdateTime, ok = source["updateTime"].(string) - Isnil("updateTime", ok) - tmpinfo.Age, ok = source["age"].(string) - Isnil("age", ok) + tmpinfo.PersonName,ok = source["personName"].(string) + Isnil("personName", ok) + tmpinfo.PersonPicUrl,ok = source["personPicUrl"].(string) + Isnil("personPicUrl", ok) + tmpinfo.PhoneNum,ok = source["phoneNum"].(string) + Isnil("phoneNum", ok) + tmpinfo.Sex,ok = source["sex"].(string) + Isnil("sex", ok) + tmpinfo.IdCard,ok = source["idCard"].(string) + Isnil("idCard", ok) + tmpinfo.MonitorLevel,ok = source["monitorLevel"].(string) + Isnil("monitorLevel",ok) + tmpinfo.UpdateTime,ok = source["updateTime"].(string) + Isnil("updateTime",ok) + tmpinfo.Age,ok = source["age"].(string) + Isnil("age", ok) - isDelete, ok := source["isDelete"].(float64) - if ok { - tmpinfo.IsDelete = int32(isDelete) - } - Isnil("isDelete", ok) + isDelete,ok := source["isDelete"].(float64) + if ok { + tmpinfo.IsDelete= int32(isDelete) + } + Isnil("isDelete", ok) - enable, ok := source["enable"].(float64) - if ok { - tmpinfo.Enable = int32(enable) - } - Isnil("endTime", ok) + enable,ok := source["enable"].(float64) + if ok { + tmpinfo.Enable= int32(enable) + } + Isnil("endTime", ok) - tmpinfo.Reserved, ok = source["reserved"].(string) - Isnil("reserved", ok) - tmpinfo.PicDesc, ok = source["picDesc"].(string) - Isnil("picDesc", ok) - tmpinfo.CreateTime, ok = source["createTime"].(string) - Isnil("createTime", ok) - tmpinfo.CreateBy, ok = source["createBy"].(string) - Isnil("createBy", ok) + tmpinfo.Reserved,ok = source["reserved"].(string) + Isnil("reserved",ok) + tmpinfo.PicDesc,ok = source["picDesc"].(string) + Isnil("picDesc",ok) + tmpinfo.CreateTime,ok = source["createTime"].(string) + Isnil("createTime",ok) + tmpinfo.CreateBy,ok = source["createBy"].(string) + Isnil("createBy",ok) - //鏍规嵁 tableid 鑾峰彇 tablename - //name, _:= Dbtablename(tmpinfo.TableId) - //tmpinfo.TableName= name - } + //鏍规嵁 tableid 鑾峰彇 tablename + //name, _:= Dbtablename(tmpinfo.TableId) + //tmpinfo.TableName= name + tmpinfos = append(tmpinfos, tmpinfo) + } - return tmpinfo + return tmpinfos } //瑙f瀽搴曞簱缁撴瀯 -func Dbtablebyid(sources []map[string]interface{}) protomsg.Dbtable { - var ok bool +func Dbtablebyid(sources []map[string]interface{}) (tmpinfos []protomsg.Dbtable) { + var ok bool - var tmpinfo protomsg.Dbtable - for _, source := range sources { + var tmpinfo protomsg.Dbtable + for _, source := range sources{ - tmpinfo.Id, ok = source["id"].(string) - if !ok { - continue - } - tmpinfo.TableName, ok = source["tableName"].(string) - Isnil("tableName", ok) - tmpinfo.TableType, ok = source["tableType"].(string) - Isnil("tableType", ok) - tmpinfo.CreateBy, ok = source["createBy"].(string) - Isnil("createBy", ok) - tmpinfo.TableDesc, ok = source["tableDesc"].(string) - Isnil("tableDesc", ok) - tmpinfo.BwType, ok = source["bwType"].(string) - Isnil("bwType", ok) - tmpinfo.StartTime, ok = source["startTime"].(string) - Isnil("startTime", ok) - tmpinfo.EndTime, ok = source["endTime"].(string) - Isnil("endTime", ok) + tmpinfo.Id, ok = source["id"].(string) + if !ok { + continue + } + tmpinfo.TableName,ok = source["tableName"].(string) + Isnil("tableName", ok) + tmpinfo.TableType,ok = source["tableType"].(string) + Isnil("tableType", ok) + tmpinfo.CreateBy,ok = source["createBy"].(string) + Isnil("createBy", ok) + tmpinfo.TableDesc,ok = source["tableDesc"].(string) + Isnil("tableDesc", ok) + tmpinfo.BwType,ok = source["bwType"].(string) + Isnil("bwType", ok) + tmpinfo.StartTime,ok = source["startTime"].(string) + Isnil("startTime", ok) + tmpinfo.EndTime,ok = source["endTime"].(string) + Isnil("endTime", ok) - isDelete, ok := source["isDelete"].(float64) - if ok { - tmpinfo.IsDelete = int32(isDelete) - } - Isnil("isDelete", ok) + isDelete,ok := source["isDelete"].(float64) + if ok { + tmpinfo.IsDelete= int32(isDelete) + } + Isnil("isDelete", ok) - enable, ok := source["enable"].(float64) - if ok { - tmpinfo.Enable = int32(enable) - } - Isnil("endTime", ok) + enable,ok := source["enable"].(float64) + if ok { + tmpinfo.Enable= int32(enable) + } + Isnil("endTime", ok) - tmpinfo.CreateTime, ok = source["createTime"].(string) - Isnil("createTime", ok) - tmpinfo.UpdateTime, ok = source["updateTime"].(string) - Isnil("updateTime", ok) - tmpinfo.IsForever, ok = source["isForever"].(string) - Isnil("isForever", ok) - tmpinfo.IsSync, ok = source["isSync"].(string) - Isnil("isSync", ok) - tmpinfo.AnalyServerId, ok = source["analyServerId"].(string) - Isnil("analyServerId", ok) - } + tmpinfo.CreateTime,ok = source["createTime"].(string) + Isnil("createTime", ok) + tmpinfo.UpdateTime,ok = source["updateTime"].(string) + Isnil("updateTime", ok) + tmpinfo.IsForever,ok = source["isForever"].(string) + Isnil("isForever", ok) + tmpinfo.IsSync,ok = source["isSync"].(string) + Isnil("isSync", ok) + tmpinfo.AnalyServerId,ok = source["analyServerId"].(string) + Isnil("analyServerId", ok) - return tmpinfo + tmpinfos = append(tmpinfos, tmpinfo) + } + + return tmpinfos } -func Sourcelist(buf []byte) (sources []map[string]interface{}, err error) { - var info interface{} - json.Unmarshal(buf, &info) - out, ok := info.(map[string]interface{}) - if !ok { - return nil, errors.New("http response interface can not change map[string]interface{}") - } +func Sourcelist(buf []byte)(sources []map[string]interface{}, err error){ + var info interface{} + json.Unmarshal(buf, &info) + out, ok := info.(map[string]interface{}) + if !ok { + return nil, errors.New("http response interface can not change map[string]interface{}") + } - middle, ok := out["hits"].(map[string]interface{}) - if !ok { - return nil, errors.New("first hits change error!") - } - for _, in := range middle["hits"].([]interface{}) { - tmpbuf, ok := in.(map[string]interface{}) - if !ok { - fmt.Println("change to source error!") - continue - } - source, ok := tmpbuf["_source"].(map[string]interface{}) - if !ok { - fmt.Println("change _source error!") - continue - } - sources = append(sources, source) - } - return sources, nil + middle, ok := out["hits"].(map[string]interface{}) + if !ok { + return nil, errors.New("first hits change error!") + } + for _, in := range middle["hits"].([]interface{}){ + tmpbuf, ok := in.(map[string]interface{}) + if !ok { + fmt.Println("change to source error!") + continue + } + source, ok := tmpbuf["_source"].(map[string]interface{}) + if !ok { + fmt.Println("change _source error!") + continue + } + sources = append(sources, source ) + } + return sources,nil } func EsReq(method string, url string, parama []byte) (buf []byte, err error) { - defer elapsed("page")() - timeout := time.Duration(10 * time.Second) - client := http.Client{ - Timeout: timeout, - } - request, err := http.NewRequest(method, url, bytes.NewBuffer(parama)) - request.Header.Set("Content-type", "application/json") + defer elapsed("page")() + timeout := time.Duration(10 * time.Second) + client := http.Client{ + Timeout: timeout, + } + request, err := http.NewRequest(method, url, bytes.NewBuffer(parama)) + request.Header.Set("Content-type", "application/json") - if err != nil { - fmt.Println("build request fail !") - return nil, err - } + if err != nil { + fmt.Println("build request fail !") + return nil, err + } - resp, err := client.Do(request) - if err != nil { - fmt.Println("request error: ", err) - return nil, err - } + resp, err := client.Do(request) + if err != nil{ + fmt.Println("request error: ", err) + return nil, err + } - defer resp.Body.Close() - body, err := ioutil.ReadAll(resp.Body) - if err != nil { - fmt.Println(err) - return nil, err - } - return body, nil + defer resp.Body.Close() + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + fmt.Println(err) + return nil , err + } + return body, nil } // 璁$畻鏃堕棿 @@ -239,8 +242,8 @@ } // 璧嬪�兼椂妫�娴嬫槸鍚﹁兘澶熻祴鍊� -func Isnil(key string, ok bool) { - if !ok { - fmt.Println(key, "is nil can not asign") - } +func Isnil(key string, ok bool){ + if !ok { + fmt.Println(key, "is nil can not asign") + } } -- Gitblit v1.8.0