From d025229e0a085dca048b712dc887197703ed4138 Mon Sep 17 00:00:00 2001 From: Christopher Ramey Date: Sun, 23 Jan 2022 15:42:28 -0900 Subject: [PATCH] Add default operator as parameter to index search --- index.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/index.go b/index.go index 5259d03..9152ede 100644 --- a/index.go +++ b/index.go @@ -51,8 +51,15 @@ func handleIndexCommand() { cfgpath := cmd.String("config", "", "path to configuration") server := cmd.String("server", "", "server name to use") fields := cmd.String("fields", "*", "fields to include in search") + defop := cmd.String("defop", "AND", "default search operator") cmd.Parse(os.Args[3:]) + if *defop != "AND" && *defop != "OR" { + fmt.Fprintf(os.Stderr, "default operator must be AND or OR\n") + cmd.Usage() + os.Exit(1) + } + if len(cmd.Args()) < 2 { fmt.Fprintf(os.Stderr, "index name and query required for index search\n") cmd.Usage() @@ -63,7 +70,7 @@ func handleIndexCommand() { es := cfg.GetClient(*server) res, err := es.Search().Index(cmd.Arg(0)).StoredField(*fields).Query( - elastic.NewQueryStringQuery(cmd.Arg(1)), + elastic.NewQueryStringQuery(cmd.Arg(1)).DefaultOperator(*defop), ).Do(context.Background()) if err != nil { fmt.Fprintf(os.Stderr, "elastic error: %s\n", err.Error())