Skip to content

Instantly share code, notes, and snippets.

@robertotambunan
Last active January 22, 2019 09:34
Show Gist options
  • Select an option

  • Save robertotambunan/0d15e408e60d2f9ccdc4e3894575bcd8 to your computer and use it in GitHub Desktop.

Select an option

Save robertotambunan/0d15e408e60d2f9ccdc4e3894575bcd8 to your computer and use it in GitHub Desktop.

Revisions

  1. robertotambunan renamed this gist Jan 22, 2019. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  2. robertotambunan created this gist Jan 22, 2019.
    30 changes: 30 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,30 @@
    type Member struct {
    Name string `json:"name"`
    URL string `json:"url"`
    }

    members = []Member{}

    keyword := "r"
    indexName : "member"
    typeName := "_doc"
    size := 10
    ctx := context.Background()

    searchSuggester := elastic.NewCompletionSuggester("data").Text(keyword).Field("suggest").Size(size)
    searchSource := elastic.NewSearchSource().Suggester(searchSuggester) searchResult, err := client.Search().Index(indexName).Type(typeName).SearchSource(searchSource).Do(ctx)

    for _, ops := range searchResult.Suggest["data"] {
    for _, op := range ops.Options {
    if op.Source == nil {
    continue
    }
    var member Member
    err := json.Unmarshal(*op.Source, &member)
    if err != nil {
    log.Println(err)
    continue
    }
    members = append(members, member)
    }
    }