github.com/IBM-Cloud/bluemix-go@v0.0.0-20240423071914-9e96525baef4/examples/globalsearch/globalsearchv2/search/main.go (about)

     1  package main
     2  
     3  import (
     4  	"flag"
     5  	"log"
     6  	"os"
     7  
     8  	"github.com/IBM-Cloud/bluemix-go/api/globalsearch/globalsearchv2"
     9  	"github.com/IBM-Cloud/bluemix-go/session"
    10  	"github.com/IBM-Cloud/bluemix-go/trace"
    11  )
    12  
    13  func main() {
    14  
    15  	var query string
    16  	flag.StringVar(&query, "query", "", "Query string")
    17  	flag.Parse()
    18  
    19  	if query == "" {
    20  		flag.Usage()
    21  		os.Exit(1)
    22  	}
    23  
    24  	trace.Logger = trace.NewLogger("true")
    25  	sess, err := session.New()
    26  	if err != nil {
    27  		log.Fatal(err)
    28  	}
    29  
    30  	gsClient, err := globalsearchv2.New(sess)
    31  	if err != nil {
    32  		log.Fatal(err)
    33  	}
    34  	searchBody := globalsearchv2.SearchBody{
    35  		Query:  query,
    36  		Fields: []string{"name", "service_name", "tags"},
    37  	}
    38  
    39  	searchResult, err := gsClient.Searches().PostQuery(searchBody)
    40  	if err != nil {
    41  		log.Fatal(err)
    42  	}
    43  	log.Println("Result: ", searchResult)
    44  
    45  	log.Println("Items: ", searchResult.Items)
    46  
    47  }