|
|
@ -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) |
|
|
|
} |