Skip to content

Instantly share code, notes, and snippets.

@robertotambunan
Last active January 22, 2019 09:34
Show Gist options
  • Save robertotambunan/0d15e408e60d2f9ccdc4e3894575bcd8 to your computer and use it in GitHub Desktop.
Save robertotambunan/0d15e408e60d2f9ccdc4e3894575bcd8 to your computer and use it in GitHub Desktop.
Query Completion
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)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment