sunty
2019-07-18 1509f5d0f9cf0870298eac735d8a0c4c15392b30
esutil/EsApi.go
@@ -1,59 +1,83 @@
package esutil
import (
   "errors"
   "strconv"
        "errors"
    "fmt"
    "strconv"
    "strings"
   "basic.com/pubsub/protomsg.git"
)
    "basic.com/pubsub/protomsg.git"
        )
// 查询底库人员信息
func DbPersoninfos(queryindex int, querynums int) ([]*protomsg.Esinfo, error) {
   var dbinfos []*protomsg.Esinfo
   point := strconv.Itoa(queryindex)
   number := strconv.Itoa(querynums)
   var dbinfoRequest = `  {
                    "from": ` + point + `,
func Personinfos( queryIndex int, queryNums int, indexName string, serverIp string, serverPort string, analyServerId string) ([]*protomsg.Esinfo, error){
            var dbinfos []*protomsg.Esinfo
            point   := strconv.Itoa(queryIndex)
            number   := strconv.Itoa(queryNums)
            JsonDSL  := ""
            if indexName == "videopersons" {
                 JsonDSL =  `  {
                    "from": ` + point +  `,
                    "query": {
                        "bool": {
                            "filter": [
                                {
                                    "term": {
                                        "analyServerId": ` + analyServerId + `
                                    }
                                }
                            ]
                        }
                    },
                    "size":`+ number +`,
                    "_source": [
                        "id",
                        "faceFeature"
                    ]
                }`
            }else {
                 JsonDSL =  `  {
                    "from": ` + point +  `,
                    "query": {
                        "match_all": {}
                    },
                     "size":` + number + `,
                     "size":`+ number +`,
                     "_source": [
                       "id",
                       "tableId",
                       "faceFeature"
                       ]
                    }`
            }
            fmt.Println("url: "+"http://"+serverIp+":"+serverPort+"/"+indexName+"/_search","body: ",JsonDSL)
    buf, err := EsReq("POST", "http://"+serverIp+":"+serverPort+"/"+indexName+"/_search",[]byte(JsonDSL))
    if err != nil {
        return dbinfos ,errors.New("http request dbtablename info is err!")
    }
   buf, err := EsReq("POST", "http://192.168.1.182:9200/dbtablepersons/dbpersons/_search", []byte(dbinfoRequest))
   if err != nil {
      return dbinfos, errors.New("http request dbtablename info is err!")
   }
      // 返回 _source 数组
      sources, err := Sourcelist(buf)
      if err != nil {
            return dbinfos,err
      }
   // 返回 _source 数组
   sources, err := Sourcelist(buf)
   if err != nil {
      return dbinfos, err
   }
   // 返回所有查询的数据
   dbpersoninfos := Parsesources(sources)
   return dbpersoninfos, nil
      // 返回所有查询的数据
     dbpersoninfos :=  Parsesources(sources)
      return dbpersoninfos, nil
}
// 根据底库id查询底库信息
func Dbtablefosbyid(id string) (protomsg.Dbtable, error) {
   var dbinfo protomsg.Dbtable
   var dbinfoRequest = `
func Dbtablefosbyid (id []string, indexName string, serverIp string, serverPort string) ([]protomsg.Dbtable, error) {
    var dbinfo []protomsg.Dbtable
    dbtableId := strings.Replace(strings.Trim(fmt.Sprint(id), "[]"), " ", "\",\"", -1)
        var dbinfoRequest = `
            {
               "query": {
                  "bool": {
                     "filter": [{
                        "terms": {
                           "_id": [
                              "` + id + `"
                           "id": [
                              "`+ dbtableId +`"
                           ]
                        }
                     }]
@@ -61,32 +85,32 @@
               }
            }
        `
   buf, err := EsReq("POST", "http://192.168.1.182:9200/dbtables/_search", []byte(dbinfoRequest))
   if err != nil {
      return dbinfo, err
   }
    buf, err := EsReq("POST", "http://"+serverIp+":"+serverPort+"/"+indexName+"/_search",[]byte(dbinfoRequest))
    if err != nil {
        return dbinfo,  err
    }
   sources, err := Sourcelist(buf)
   if err != nil {
      return dbinfo, err
   }
    sources, err := Sourcelist(buf)
    if err != nil {
        return dbinfo , err
    }
   dbtable := Dbtablebyid(sources)
   return dbtable, nil
    dbtable := Dbtablebyid(sources)
    return dbtable, nil
}
// 根据底库人员id查询底库人员信息
func Dbpersoninfosbyid(id string) (protomsg.Dbperson, error) {
   var dbinfo protomsg.Dbperson
   var dbinfoRequest = `
func Dbpersoninfosbyid (id []string, indexName string, serverIp string, serverPort string) ([]protomsg.Dbperson, error) {
    var dbinfo []protomsg.Dbperson
    dbtablePersonId := strings.Replace(strings.Trim(fmt.Sprint(id), "[]"), " ", "\",\"", -1)
    var dbinfoRequest = `
            {
               "query": {
                  "bool": {
                     "filter": [{
                        "terms": {
                           "_id": [
                              "` + id + `"
                           "id": [
                              "`+ dbtablePersonId +`"
                           ]
                        }
                     }]
@@ -94,29 +118,30 @@
               }
            }
        `
   buf, err := EsReq("POST", "http://192.168.1.182:9200/dbtablepersons/_search", []byte(dbinfoRequest))
   if err != nil {
      return dbinfo, err
   }
    buf, err := EsReq("POST", "http://"+serverIp+":"+serverPort+"/"+indexName+"/_search",[]byte(dbinfoRequest))
    if err != nil {
        return dbinfo,  err
    }
   sources, err := Sourcelist(buf)
   if err != nil {
      return dbinfo, err
   }
    sources, err := Sourcelist(buf)
    if err != nil {
        return dbinfo , err
    }
   dbperson := Dbpersonbyid(sources)
   return dbperson, nil
    dbperson := Dbpersonbyid(sources)
    println(dbperson)
    return dbperson,nil
}
// 根据tableid 查询tablename
func Dbtablename(tableid string) (tablename string, err error) {
   var dbinfotable = ` {
func Dbtablename(tableid string, indexName string, serverIp string, serverPort string) (tablename string, err error) {
    var dbinfotable =` {
        "query": {
            "bool": {
                "filter": [
                {
                    "term": {
                        "id":"` + tableid + `"
                        "id":"`+tableid+`"
                    }
                }
                ]
@@ -127,20 +152,20 @@
        ]
    }
    `
   buf, err := EsReq("POST", "http://192.168.1.182:9200/dbtables/_search", []byte(dbinfotable))
   if err != nil {
      return "", errors.New("http request dbtablename info is err!")
   }
   sources, err := Sourcelist(buf)
   if err != nil {
      return "", err
   }
    buf, err := EsReq("POST", "http://"+serverIp+":"+serverPort+"/"+indexName+"/_search",[]byte(dbinfotable))
    if err != nil {
        return "" ,errors.New("http request dbtablename info is err!")
    }
    sources, err := Sourcelist(buf)
    if err != nil {
          return "",err
    }
   for _, source := range sources {
      if name, ok := source["tableName"].(string); ok {
         tablename = name
         break
      }
   }
   return tablename, nil
    for _, source := range sources {
        if name, ok := source["tableName"].(string); ok {
            tablename = name
            break
        }
    }
    return tablename, nil
}