summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/olivere/elastic/suggest_field.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/olivere/elastic/suggest_field.go')
-rw-r--r--vendor/github.com/olivere/elastic/suggest_field.go90
1 files changed, 0 insertions, 90 deletions
diff --git a/vendor/github.com/olivere/elastic/suggest_field.go b/vendor/github.com/olivere/elastic/suggest_field.go
deleted file mode 100644
index 8405a6f9e..000000000
--- a/vendor/github.com/olivere/elastic/suggest_field.go
+++ /dev/null
@@ -1,90 +0,0 @@
-// Copyright 2012-present Oliver Eilhard. All rights reserved.
-// Use of this source code is governed by a MIT-license.
-// See http://olivere.mit-license.org/license.txt for details.
-
-package elastic
-
-import (
- "encoding/json"
- "errors"
-)
-
-// SuggestField can be used by the caller to specify a suggest field
-// at index time. For a detailed example, see e.g.
-// https://www.elastic.co/blog/you-complete-me.
-type SuggestField struct {
- inputs []string
- weight int
- contextQueries []SuggesterContextQuery
-}
-
-func NewSuggestField(input ...string) *SuggestField {
- return &SuggestField{
- inputs: input,
- weight: -1,
- }
-}
-
-func (f *SuggestField) Input(input ...string) *SuggestField {
- if f.inputs == nil {
- f.inputs = make([]string, 0)
- }
- f.inputs = append(f.inputs, input...)
- return f
-}
-
-func (f *SuggestField) Weight(weight int) *SuggestField {
- f.weight = weight
- return f
-}
-
-func (f *SuggestField) ContextQuery(queries ...SuggesterContextQuery) *SuggestField {
- f.contextQueries = append(f.contextQueries, queries...)
- return f
-}
-
-// MarshalJSON encodes SuggestField into JSON.
-func (f *SuggestField) MarshalJSON() ([]byte, error) {
- source := make(map[string]interface{})
-
- if f.inputs != nil {
- switch len(f.inputs) {
- case 1:
- source["input"] = f.inputs[0]
- default:
- source["input"] = f.inputs
- }
- }
-
- if f.weight >= 0 {
- source["weight"] = f.weight
- }
-
- switch len(f.contextQueries) {
- case 0:
- case 1:
- src, err := f.contextQueries[0].Source()
- if err != nil {
- return nil, err
- }
- source["contexts"] = src
- default:
- ctxq := make(map[string]interface{})
- for _, query := range f.contextQueries {
- src, err := query.Source()
- if err != nil {
- return nil, err
- }
- m, ok := src.(map[string]interface{})
- if !ok {
- return nil, errors.New("SuggesterContextQuery must be of type map[string]interface{}")
- }
- for k, v := range m {
- ctxq[k] = v
- }
- }
- source["contexts"] = ctxq
- }
-
- return json.Marshal(source)
-}