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/EsApi.go | 145 ++++++++++++++++++++++++----------------------- 1 files changed, 74 insertions(+), 71 deletions(-) diff --git a/esutil/EsApi.go b/esutil/EsApi.go index 4de958e..7e7cbf1 100644 --- a/esutil/EsApi.go +++ b/esutil/EsApi.go @@ -1,24 +1,26 @@ 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) +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 + `, + var dbinfoRequest = ` { + "from": ` + point + `, "query": { "match_all": {} }, - "size":` + number + `, + "size":`+ number +`, "_source": [ "id", "tableId", @@ -26,34 +28,34 @@ ] }` - 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!") - } + 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) ([]protomsg.Dbtable, error) { + var dbinfo []protomsg.Dbtable + dbtableId := strings.Replace(strings.Trim(fmt.Sprint(id), "[]"), " ", "\",\"", -1) + var dbinfoRequest = ` { "query": { "bool": { "filter": [{ "terms": { "_id": [ - "` + id + `" + "`+ dbtableId +`" ] } }] @@ -61,32 +63,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://192.168.1.182:9200/dbtables/_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) ([]protomsg.Dbperson, error) { + var dbinfo []protomsg.Dbperson + dbtablePersonId := strings.Replace(strings.Trim(fmt.Sprint(id), "[]"), " ", "\",\"", -1) + var dbinfoRequest = ` { "query": { "bool": { "filter": [{ "terms": { "_id": [ - "` + id + `" + "`+ dbtablePersonId +`" ] } }] @@ -94,29 +96,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://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 - } + 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 ) (tablename string, err error) { + var dbinfotable =` { "query": { "bool": { "filter": [ { "term": { - "id":"` + tableid + `" + "id":"`+tableid+`" } } ] @@ -127,20 +130,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://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 + for _, source := range sources { + if name, ok := source["tableName"].(string); ok { + tablename = name + break + } + } + return tablename, nil } -- Gitblit v1.8.0