From 39ab753b373e5a1f2583089426714bb35e973b2a Mon Sep 17 00:00:00 2001 From: rerost Date: Sun, 11 Nov 2018 15:39:03 +0900 Subject: [PATCH] Fix copy count --- executer/executer.go | 5 +++++ infra/es/base_client.go | 11 +++-------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/executer/executer.go b/executer/executer.go index 480a85f..98975fd 100644 --- a/executer/executer.go +++ b/executer/executer.go @@ -88,6 +88,11 @@ func (e *executerImp) Run(ctx context.Context, operation string, target string, fmt.Fprintf(os.Stdout, "Done copy") return Empty{}, nil + case "count": + if len(args) != 1 { + return Empty{}, fail.New(fmt.Sprintf("Invalid arguments expected: %d, %v", 1, args)) + } + return e.esBaseClient.CountIndex(ctx, args[0]) } } diff --git a/infra/es/base_client.go b/infra/es/base_client.go index 3c4cc9a..5c55401 100644 --- a/infra/es/base_client.go +++ b/infra/es/base_client.go @@ -7,7 +7,6 @@ import ( "fmt" "io/ioutil" "net/http" - "strconv" "strings" "github.com/rerost/es-cli/setting" @@ -316,15 +315,11 @@ func (client baseClientImp) CountIndex(ctx context.Context, indexName string) (C return Count{}, fail.New(fmt.Sprintf("%v", errMsg)) } - if _, ok := responseMap["count"].(string); !ok { + if _, ok := responseMap["count"].(float64); !ok { return Count{}, fail.New(fmt.Sprintf("Failed to extract count from json: %s", responseBody)) } - countNum, err := strconv.ParseInt(responseMap["count"].(string), 10, 64) - if err != nil { - return Count{}, fail.Wrap(err) - } - return Count{Num: countNum}, nil + return Count{Num: int64(responseMap["count"].(float64))}, nil } // Mapping @@ -634,7 +629,7 @@ func (client baseClientImp) aliasURL() string { return client.baseURL() + "/_aliases" } func (client baseClientImp) countURL(indexName string) string { - return client.indexURL(indexName) + "/count" + return client.indexURL(indexName) + "/_count" } func addParams(req *http.Request, params map[string]string) *http.Request {