package esutil import ( "errors" "strconv" "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 + `, "query": { "match_all": {} }, "size":`+ number +`, "_source": [ "id", "tableId", "faceFeature" ] }` 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 } // 返回所有查询的数据 dbpersoninfos := Parsesources(sources) return dbpersoninfos, nil } // 根据底库id查询底库信息 func Dbpersoninfosbyid (id string) (protomsg.Baseinfo, error) { var dbinfo protomsg.Baseinfo var dbinfoRequest = ` { "query":{ "terms":{ "_id":[ "`+ id +`" ] } } } ` buf, err := EsReq("POST", "http://192.168.1.182:9200/dbtablepersons/_search",[]byte(dbinfoRequest)) if err != nil { return dbinfo, err } sources, err := Sourcelist(buf) if err != nil { return dbinfo , err } baseinfo := Dbpersonbyid(sources) return baseinfo, nil } // 根据tableid 查询tablename func Dbtablename(tableid string ) (tablename string, err error) { var dbinfotable =` { "query": { "bool": { "filter": [ { "term": { "id":"`+tableid+`" } } ] } }, "_source": [ "tableName" ] } ` 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 } for _, source := range sources { if name, ok := source["tableName"].(string); ok { tablename = name break } } return tablename, nil }