From 9969f8072b23fd8d03cb38445a81ae881bd01ee2 Mon Sep 17 00:00:00 2001 From: sunty <1172534965@qq.com> Date: 星期三, 25 九月 2019 17:37:09 +0800 Subject: [PATCH] optimization get personId function --- EsClient.go | 39 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 39 insertions(+), 0 deletions(-) diff --git a/EsClient.go b/EsClient.go index b7dc11e..3f5740e 100644 --- a/EsClient.go +++ b/EsClient.go @@ -359,6 +359,45 @@ } return sources,nil } +//slice scroll 瑙f瀽宸ュ叿鍑芥暟 +func Sourcelistforscroll(buf []byte)(datasource map[string]interface{}, err error){ + var data = make(map[string]interface{}) + 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{}") + } + scroll_id, ok := out["_scroll_id"].(string) + if !ok { + return nil, errors.New("first hits change error!") + } + + //fmt.Println("middle: ",scroll_id) + middle, ok := out["hits"].(map[string]interface{}) + //fmt.Println("middle: ",out) + if !ok { + return nil, errors.New("first hits change error!") + } + var sources = make([]map[string]interface{},0) + 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 ) + } + + data["sourcelist"] = sources + data["scroll_id"] = scroll_id + return data,nil +} func EsReq(method string, url string, parama []byte) (buf []byte, err error) { defer elapsed("page")() -- Gitblit v1.8.0