diff --git a/alias.go b/alias.go index d33fb8f..b48e2cc 100644 --- a/alias.go +++ b/alias.go @@ -17,9 +17,7 @@ func handleAliasCommand() { subcmd := strings.ToLower(os.Args[2]) switch subcmd { - case "ls": - fallthrough - case "list": + case "list", "ls", "l": cmd := flag.NewFlagSet("alias list", flag.ExitOnError) cmd.SetOutput(os.Stdout) cfgpath := cmd.String("config", "", "path to configuration") diff --git a/search.go b/search.go index 0c4b5b4..5a5efe3 100644 --- a/search.go +++ b/search.go @@ -2,7 +2,6 @@ package main import ( "context" - "encoding/json" "flag" "fmt" "os" @@ -19,7 +18,6 @@ func handleSearchCommand() { } cfgpath := cmd.String("config", "", "path to configuration") server := cmd.String("server", "", "server name to use") - fields := cmd.String("fields", "*", "fields to include in search") size := cmd.Int("size", 10, "maximum number of results returned") from := cmd.Int("from", 0, "count to start search results from") defop := cmd.String("defop", "AND", "default search operator") @@ -43,22 +41,21 @@ func handleSearchCommand() { res, err := es.Search(). Index(cmd.Arg(0)). - StoredField(*fields). Size(*size). From(*from). + NoStoredFields(). + FetchSourceContext( + elastic.NewFetchSourceContext(true).Include("*"), + ). Query(elastic.NewQueryStringQuery(cmd.Arg(1)).DefaultOperator(*defop)). Do(context.Background()) if err != nil { fmt.Fprintf(os.Stderr, "elastic error: %s\n", err.Error()) os.Exit(1) } + for _, r := range res.Hits.Hits { - b, err := json.Marshal(r.Fields) - if err != nil { - fmt.Fprintf(os.Stderr, "marshal error: %s\n", err.Error()) - os.Exit(1) - } - fmt.Fprintf(os.Stdout, "%s: %s\n", r.Id, string(b)) + fmt.Fprintf(os.Stdout, "%s: %s\n", r.Id, string(r.Source)) } fmt.Fprintf(os.Stdout, "Total: %d\n", res.Hits.TotalHits.Value) }