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 | 69 +++++++++++++++++++++++++++------- 1 files changed, 54 insertions(+), 15 deletions(-) diff --git a/esutil/EsApi.go b/esutil/EsApi.go index 8be8c68..7e7cbf1 100644 --- a/esutil/EsApi.go +++ b/esutil/EsApi.go @@ -2,9 +2,11 @@ import ( "errors" - "strconv" + "fmt" + "strconv" + "strings" - "basic.com/pubsub/protomsg.git" + "basic.com/pubsub/protomsg.git" ) // 鏌ヨ搴曞簱浜哄憳淇℃伅 @@ -43,18 +45,55 @@ } // 鏍规嵁搴曞簱id鏌ヨ搴曞簱淇℃伅 -func Dbpersoninfosbyid (id string) (protomsg.Baseinfo, error) { - var dbinfo protomsg.Baseinfo - +func Dbtablefosbyid (id []string) ([]protomsg.Dbtable, error) { + var dbinfo []protomsg.Dbtable + dbtableId := strings.Replace(strings.Trim(fmt.Sprint(id), "[]"), " ", "\",\"", -1) var dbinfoRequest = ` { - "query":{ - "terms":{ - "_id":[ - "`+ id +`" - ] - } - } + "query": { + "bool": { + "filter": [{ + "terms": { + "_id": [ + "`+ dbtableId +`" + ] + } + }] + } + } + } + ` + 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 + } + + dbtable := Dbtablebyid(sources) + return dbtable, nil +} + +// 鏍规嵁搴曞簱浜哄憳id鏌ヨ搴曞簱浜哄憳淇℃伅 +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": [ + "`+ dbtablePersonId +`" + ] + } + }] + } + } } ` buf, err := EsReq("POST", "http://192.168.1.182:9200/dbtablepersons/_search",[]byte(dbinfoRequest)) @@ -67,10 +106,10 @@ return dbinfo , err } - baseinfo := Dbpersonbyid(sources) - return baseinfo, nil + dbperson := Dbpersonbyid(sources) + println(dbperson) + return dbperson,nil } - // 鏍规嵁tableid 鏌ヨtablename func Dbtablename(tableid string ) (tablename string, err error) { -- Gitblit v1.8.0