From 339ddbe0fae1a01c659df6ada85d3627c7336e37 Mon Sep 17 00:00:00 2001 From: slavikm Date: Mon, 14 Nov 2016 14:02:43 -0800 Subject: [PATCH 1/5] Added getters to boost and field query interfaces --- search/query/bool_field.go | 9 +++++++++ search/query/date_range.go | 8 ++++++++ search/query/fuzzy.go | 8 ++++++++ search/query/match.go | 8 ++++++++ search/query/match_phrase.go | 8 ++++++++ search/query/numeric_range.go | 8 ++++++++ search/query/prefix.go | 8 ++++++++ search/query/query.go | 2 ++ search/query/regexp.go | 8 ++++++++ search/query/term.go | 8 ++++++++ search/query/wildcard.go | 8 ++++++++ 11 files changed, 83 insertions(+) diff --git a/search/query/bool_field.go b/search/query/bool_field.go index 43c71329..926ad96d 100644 --- a/search/query/bool_field.go +++ b/search/query/bool_field.go @@ -43,6 +43,15 @@ func (q *BoolFieldQuery) SetField(f string) { q.Field = f } +func (q *BoolFieldQuery) GetField() string{ + return q.Field +} + +func (q *BoolFieldQuery) GetBoost() float64{ + return q.Boost.Value() +} + + func (q *BoolFieldQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { field := q.Field if q.Field == "" { diff --git a/search/query/date_range.go b/search/query/date_range.go index be69a70a..994588f3 100644 --- a/search/query/date_range.go +++ b/search/query/date_range.go @@ -117,6 +117,14 @@ func (q *DateRangeQuery) SetField(f string) { q.Field = f } +func (q *DateRangeQuery) GetField() string{ + return q.Field +} + +func (q *DateRangeQuery) GetBoost() float64{ + return q.Boost.Value() +} + func (q *DateRangeQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { min, max, err := q.parseEndpoints() if err != nil { diff --git a/search/query/fuzzy.go b/search/query/fuzzy.go index fd868fb1..ee1f4058 100644 --- a/search/query/fuzzy.go +++ b/search/query/fuzzy.go @@ -52,6 +52,14 @@ func (q *FuzzyQuery) SetField(f string) { q.Field = f } +func (q *FuzzyQuery) GetField() string{ + return q.Field +} + +func (q *FuzzyQuery) GetBoost() float64{ + return q.Boost.Value() +} + func (q *FuzzyQuery) SetFuzziness(f int) { q.Fuzziness = f } diff --git a/search/query/match.go b/search/query/match.go index d8d905b1..0d1a2a3c 100644 --- a/search/query/match.go +++ b/search/query/match.go @@ -94,6 +94,14 @@ func (q *MatchQuery) SetField(f string) { q.Field = f } +func (q *MatchQuery) GetField() string{ + return q.Field +} + +func (q *MatchQuery) GetBoost() float64{ + return q.Boost.Value() +} + func (q *MatchQuery) SetFuzziness(f int) { q.Fuzziness = f } diff --git a/search/query/match_phrase.go b/search/query/match_phrase.go index 6c08b3ae..fa0721f9 100644 --- a/search/query/match_phrase.go +++ b/search/query/match_phrase.go @@ -53,6 +53,14 @@ func (q *MatchPhraseQuery) SetField(f string) { q.Field = f } +func (q *MatchPhraseQuery) GetField() string{ + return q.Field +} + +func (q *MatchPhraseQuery) GetBoost() float64{ + return q.Boost.Value() +} + func (q *MatchPhraseQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { field := q.Field if q.Field == "" { diff --git a/search/query/numeric_range.go b/search/query/numeric_range.go index ea35ef4d..41d1157d 100644 --- a/search/query/numeric_range.go +++ b/search/query/numeric_range.go @@ -63,6 +63,14 @@ func (q *NumericRangeQuery) SetField(f string) { q.Field = f } +func (q *NumericRangeQuery) GetField() string{ + return q.Field +} + +func (q *NumericRangeQuery) GetBoost() float64{ + return q.Boost.Value() +} + func (q *NumericRangeQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { field := q.Field if q.Field == "" { diff --git a/search/query/prefix.go b/search/query/prefix.go index 0e5f03eb..f71e1106 100644 --- a/search/query/prefix.go +++ b/search/query/prefix.go @@ -45,6 +45,14 @@ func (q *PrefixQuery) SetField(f string) { q.Field = f } +func (q *PrefixQuery) GetField() string{ + return q.Field +} + +func (q *PrefixQuery) GetBoost() float64{ + return q.Boost.Value() +} + func (q *PrefixQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { field := q.Field if q.Field == "" { diff --git a/search/query/query.go b/search/query/query.go index 7a4b0751..d0867b8c 100644 --- a/search/query/query.go +++ b/search/query/query.go @@ -44,6 +44,7 @@ type Query interface { type BoostableQuery interface { Query SetBoost(b float64) + GetBoost() float64 } // A FieldableQuery represents a Query which can be restricted @@ -51,6 +52,7 @@ type BoostableQuery interface { type FieldableQuery interface { Query SetField(f string) + GetField() string } // A ValidatableQuery represents a Query which can be validated diff --git a/search/query/regexp.go b/search/query/regexp.go index 9dd8c842..f246c5c1 100644 --- a/search/query/regexp.go +++ b/search/query/regexp.go @@ -49,6 +49,14 @@ func (q *RegexpQuery) SetField(f string) { q.Field = f } +func (q *RegexpQuery) GetField() string{ + return q.Field +} + +func (q *RegexpQuery) GetBoost() float64{ + return q.Boost.Value() +} + func (q *RegexpQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { field := q.Field if q.Field == "" { diff --git a/search/query/term.go b/search/query/term.go index c5bc2da1..446ecb67 100644 --- a/search/query/term.go +++ b/search/query/term.go @@ -44,6 +44,14 @@ func (q *TermQuery) SetField(f string) { q.Field = f } +func (q *TermQuery) GetField() string{ + return q.Field +} + +func (q *TermQuery) GetBoost() float64{ + return q.Boost.Value() +} + func (q *TermQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { field := q.Field if q.Field == "" { diff --git a/search/query/wildcard.go b/search/query/wildcard.go index 5f5c864c..7d248758 100644 --- a/search/query/wildcard.go +++ b/search/query/wildcard.go @@ -70,6 +70,14 @@ func (q *WildcardQuery) SetField(f string) { q.Field = f } +func (q *WildcardQuery) GetField() string{ + return q.Field +} + +func (q *WildcardQuery) GetBoost() float64{ + return q.Boost.Value() +} + func (q *WildcardQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { field := q.Field if q.Field == "" { From 187d6013df5c24c6809bc41190e60d271978630e Mon Sep 17 00:00:00 2001 From: slavikm Date: Mon, 14 Nov 2016 15:30:07 -0800 Subject: [PATCH 2/5] Make sure getters follow the Go convention --- search/query/bool_field.go | 26 +++++++++++++------------- search/query/date_range.go | 27 ++++++++++++++------------- search/query/fuzzy.go | 26 +++++++++++++------------- search/query/match.go | 32 ++++++++++++++++---------------- search/query/match_phrase.go | 26 +++++++++++++------------- search/query/numeric_range.go | 26 +++++++++++++------------- search/query/phrase.go | 2 +- search/query/prefix.go | 28 ++++++++++++++-------------- search/query/query.go | 4 ++-- search/query/regexp.go | 26 +++++++++++++------------- search/query/term.go | 28 ++++++++++++++-------------- search/query/wildcard.go | 22 +++++++++++----------- 12 files changed, 137 insertions(+), 136 deletions(-) diff --git a/search/query/bool_field.go b/search/query/bool_field.go index 926ad96d..1640af6c 100644 --- a/search/query/bool_field.go +++ b/search/query/bool_field.go @@ -23,8 +23,8 @@ import ( type BoolFieldQuery struct { Bool bool `json:"bool"` - Field string `json:"field,omitempty"` - Boost *Boost `json:"boost,omitempty"` + FieldVal string `json:"field,omitempty"` + BoostVal *Boost `json:"boost,omitempty"` } // NewBoolFieldQuery creates a new Query for boolean fields @@ -36,30 +36,30 @@ func NewBoolFieldQuery(val bool) *BoolFieldQuery { func (q *BoolFieldQuery) SetBoost(b float64) { boost := Boost(b) - q.Boost = &boost + q.BoostVal = &boost +} + +func (q *BoolFieldQuery) Boost() float64{ + return q.BoostVal.Value() } func (q *BoolFieldQuery) SetField(f string) { - q.Field = f + q.FieldVal = f } -func (q *BoolFieldQuery) GetField() string{ - return q.Field -} - -func (q *BoolFieldQuery) GetBoost() float64{ - return q.Boost.Value() +func (q *BoolFieldQuery) Field() string{ + return q.FieldVal } func (q *BoolFieldQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { - field := q.Field - if q.Field == "" { + field := q.FieldVal + if q.FieldVal == "" { field = m.DefaultSearchField() } term := "F" if q.Bool { term = "T" } - return searcher.NewTermSearcher(i, term, field, q.Boost.Value(), explain) + return searcher.NewTermSearcher(i, term, field, q.BoostVal.Value(), explain) } diff --git a/search/query/date_range.go b/search/query/date_range.go index 994588f3..8c5811f1 100644 --- a/search/query/date_range.go +++ b/search/query/date_range.go @@ -80,8 +80,8 @@ type DateRangeQuery struct { End BleveQueryTime `json:"end,omitempty"` InclusiveStart *bool `json:"inclusive_start,omitempty"` InclusiveEnd *bool `json:"inclusive_end,omitempty"` - Field string `json:"field,omitempty"` - Boost *Boost `json:"boost,omitempty"` + FieldVal string `json:"field,omitempty"` + BoostVal *Boost `json:"boost,omitempty"` } // NewDateRangeQuery creates a new Query for ranges @@ -110,19 +110,20 @@ func NewDateRangeInclusiveQuery(start, end time.Time, startInclusive, endInclusi func (q *DateRangeQuery) SetBoost(b float64) { boost := Boost(b) - q.Boost = &boost + q.BoostVal = &boost } +func (q *DateRangeQuery) Boost() float64{ + return q.BoostVal.Value() +} + + func (q *DateRangeQuery) SetField(f string) { - q.Field = f + q.FieldVal = f } -func (q *DateRangeQuery) GetField() string{ - return q.Field -} - -func (q *DateRangeQuery) GetBoost() float64{ - return q.Boost.Value() +func (q *DateRangeQuery) Field() string{ + return q.FieldVal } func (q *DateRangeQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { @@ -131,12 +132,12 @@ func (q *DateRangeQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, e return nil, err } - field := q.Field - if q.Field == "" { + field := q.FieldVal + if q.FieldVal == "" { field = m.DefaultSearchField() } - return searcher.NewNumericRangeSearcher(i, min, max, q.InclusiveStart, q.InclusiveEnd, field, q.Boost.Value(), explain) + return searcher.NewNumericRangeSearcher(i, min, max, q.InclusiveStart, q.InclusiveEnd, field, q.BoostVal.Value(), explain) } func (q *DateRangeQuery) parseEndpoints() (*float64, *float64, error) { diff --git a/search/query/fuzzy.go b/search/query/fuzzy.go index ee1f4058..6effd343 100644 --- a/search/query/fuzzy.go +++ b/search/query/fuzzy.go @@ -25,8 +25,8 @@ type FuzzyQuery struct { Term string `json:"term"` Prefix int `json:"prefix_length"` Fuzziness int `json:"fuzziness"` - Field string `json:"field,omitempty"` - Boost *Boost `json:"boost,omitempty"` + FieldVal string `json:"field,omitempty"` + BoostVal *Boost `json:"boost,omitempty"` } // NewFuzzyQuery creates a new Query which finds @@ -45,19 +45,19 @@ func NewFuzzyQuery(term string) *FuzzyQuery { func (q *FuzzyQuery) SetBoost(b float64) { boost := Boost(b) - q.Boost = &boost + q.BoostVal = &boost +} + +func (q *FuzzyQuery) Boost() float64{ + return q.BoostVal.Value() } func (q *FuzzyQuery) SetField(f string) { - q.Field = f + q.FieldVal = f } -func (q *FuzzyQuery) GetField() string{ - return q.Field -} - -func (q *FuzzyQuery) GetBoost() float64{ - return q.Boost.Value() +func (q *FuzzyQuery) Field() string{ + return q.FieldVal } func (q *FuzzyQuery) SetFuzziness(f int) { @@ -69,9 +69,9 @@ func (q *FuzzyQuery) SetPrefix(p int) { } func (q *FuzzyQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { - field := q.Field - if q.Field == "" { + field := q.FieldVal + if q.FieldVal == "" { field = m.DefaultSearchField() } - return searcher.NewFuzzySearcher(i, q.Term, q.Prefix, q.Fuzziness, field, q.Boost.Value(), explain) + return searcher.NewFuzzySearcher(i, q.Term, q.Prefix, q.Fuzziness, field, q.BoostVal.Value(), explain) } diff --git a/search/query/match.go b/search/query/match.go index 0d1a2a3c..6d0b0053 100644 --- a/search/query/match.go +++ b/search/query/match.go @@ -25,9 +25,9 @@ import ( type MatchQuery struct { Match string `json:"match"` - Field string `json:"field,omitempty"` + FieldVal string `json:"field,omitempty"` Analyzer string `json:"analyzer,omitempty"` - Boost *Boost `json:"boost,omitempty"` + BoostVal *Boost `json:"boost,omitempty"` Prefix int `json:"prefix_length"` Fuzziness int `json:"fuzziness"` Operator MatchQueryOperator `json:"operator,omitempty"` @@ -87,19 +87,19 @@ func NewMatchQuery(match string) *MatchQuery { func (q *MatchQuery) SetBoost(b float64) { boost := Boost(b) - q.Boost = &boost + q.BoostVal = &boost +} + +func (q *MatchQuery) Boost() float64{ + return q.BoostVal.Value() } func (q *MatchQuery) SetField(f string) { - q.Field = f + q.FieldVal = f } -func (q *MatchQuery) GetField() string{ - return q.Field -} - -func (q *MatchQuery) GetBoost() float64{ - return q.Boost.Value() +func (q *MatchQuery) Field() string{ + return q.FieldVal } func (q *MatchQuery) SetFuzziness(f int) { @@ -116,8 +116,8 @@ func (q *MatchQuery) SetOperator(operator MatchQueryOperator) { func (q *MatchQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { - field := q.Field - if q.Field == "" { + field := q.FieldVal + if q.FieldVal == "" { field = m.DefaultSearchField() } @@ -143,14 +143,14 @@ func (q *MatchQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, expla query.SetFuzziness(q.Fuzziness) query.SetPrefix(q.Prefix) query.SetField(field) - query.SetBoost(q.Boost.Value()) + query.SetBoost(q.BoostVal.Value()) tqs[i] = query } } else { for i, token := range tokens { tq := NewTermQuery(string(token.Term)) tq.SetField(field) - tq.SetBoost(q.Boost.Value()) + tq.SetBoost(q.BoostVal.Value()) tqs[i] = tq } } @@ -159,12 +159,12 @@ func (q *MatchQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, expla case MatchQueryOperatorOr: shouldQuery := NewDisjunctionQuery(tqs) shouldQuery.SetMin(1) - shouldQuery.SetBoost(q.Boost.Value()) + shouldQuery.SetBoost(q.BoostVal.Value()) return shouldQuery.Searcher(i, m, explain) case MatchQueryOperatorAnd: mustQuery := NewConjunctionQuery(tqs) - mustQuery.SetBoost(q.Boost.Value()) + mustQuery.SetBoost(q.BoostVal.Value()) return mustQuery.Searcher(i, m, explain) default: diff --git a/search/query/match_phrase.go b/search/query/match_phrase.go index fa0721f9..a148808f 100644 --- a/search/query/match_phrase.go +++ b/search/query/match_phrase.go @@ -25,9 +25,9 @@ import ( type MatchPhraseQuery struct { MatchPhrase string `json:"match_phrase"` - Field string `json:"field,omitempty"` + FieldVal string `json:"field,omitempty"` Analyzer string `json:"analyzer,omitempty"` - Boost *Boost `json:"boost,omitempty"` + BoostVal *Boost `json:"boost,omitempty"` } // NewMatchPhraseQuery creates a new Query object @@ -46,24 +46,24 @@ func NewMatchPhraseQuery(matchPhrase string) *MatchPhraseQuery { func (q *MatchPhraseQuery) SetBoost(b float64) { boost := Boost(b) - q.Boost = &boost + q.BoostVal = &boost +} + +func (q *MatchPhraseQuery) Boost() float64{ + return q.BoostVal.Value() } func (q *MatchPhraseQuery) SetField(f string) { - q.Field = f + q.FieldVal = f } -func (q *MatchPhraseQuery) GetField() string{ - return q.Field -} - -func (q *MatchPhraseQuery) GetBoost() float64{ - return q.Boost.Value() +func (q *MatchPhraseQuery) Field() string{ + return q.FieldVal } func (q *MatchPhraseQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { - field := q.Field - if q.Field == "" { + field := q.FieldVal + if q.FieldVal == "" { field = m.DefaultSearchField() } @@ -82,7 +82,7 @@ func (q *MatchPhraseQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, if len(tokens) > 0 { phrase := tokenStreamToPhrase(tokens) phraseQuery := NewPhraseQuery(phrase, field) - phraseQuery.SetBoost(q.Boost.Value()) + phraseQuery.SetBoost(q.BoostVal.Value()) return phraseQuery.Searcher(i, m, explain) } noneQuery := NewMatchNoneQuery() diff --git a/search/query/numeric_range.go b/search/query/numeric_range.go index 41d1157d..93f7fd6b 100644 --- a/search/query/numeric_range.go +++ b/search/query/numeric_range.go @@ -28,8 +28,8 @@ type NumericRangeQuery struct { Max *float64 `json:"max,omitempty"` InclusiveMin *bool `json:"inclusive_min,omitempty"` InclusiveMax *bool `json:"inclusive_max,omitempty"` - Field string `json:"field,omitempty"` - Boost *Boost `json:"boost,omitempty"` + FieldVal string `json:"field,omitempty"` + BoostVal *Boost `json:"boost,omitempty"` } // NewNumericRangeQuery creates a new Query for ranges @@ -56,27 +56,27 @@ func NewNumericRangeInclusiveQuery(min, max *float64, minInclusive, maxInclusive func (q *NumericRangeQuery) SetBoost(b float64) { boost := Boost(b) - q.Boost = &boost + q.BoostVal = &boost +} + +func (q *NumericRangeQuery) Boost() float64{ + return q.BoostVal.Value() } func (q *NumericRangeQuery) SetField(f string) { - q.Field = f + q.FieldVal = f } -func (q *NumericRangeQuery) GetField() string{ - return q.Field -} - -func (q *NumericRangeQuery) GetBoost() float64{ - return q.Boost.Value() +func (q *NumericRangeQuery) Field() string{ + return q.FieldVal } func (q *NumericRangeQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { - field := q.Field - if q.Field == "" { + field := q.FieldVal + if q.FieldVal == "" { field = m.DefaultSearchField() } - return searcher.NewNumericRangeSearcher(i, q.Min, q.Max, q.InclusiveMin, q.InclusiveMax, field, q.Boost.Value(), explain) + return searcher.NewNumericRangeSearcher(i, q.Min, q.Max, q.InclusiveMin, q.InclusiveMax, field, q.BoostVal.Value(), explain) } func (q *NumericRangeQuery) Validate() error { diff --git a/search/query/phrase.go b/search/query/phrase.go index 96cbe413..2d382bbd 100644 --- a/search/query/phrase.go +++ b/search/query/phrase.go @@ -87,7 +87,7 @@ func (q *PhraseQuery) UnmarshalJSON(data []byte) error { q.Boost = tmp.Boost q.termQueries = make([]Query, len(q.Terms)) for i, term := range q.Terms { - q.termQueries[i] = &TermQuery{Term: term, Field: q.Field, Boost: q.Boost} + q.termQueries[i] = &TermQuery{Term: term, FieldVal: q.Field, BoostVal: q.Boost} } return nil } diff --git a/search/query/prefix.go b/search/query/prefix.go index f71e1106..d8c2bb2f 100644 --- a/search/query/prefix.go +++ b/search/query/prefix.go @@ -22,9 +22,9 @@ import ( ) type PrefixQuery struct { - Prefix string `json:"prefix"` - Field string `json:"field,omitempty"` - Boost *Boost `json:"boost,omitempty"` + Prefix string `json:"prefix"` + FieldVal string `json:"field,omitempty"` + BoostVal *Boost `json:"boost,omitempty"` } // NewPrefixQuery creates a new Query which finds @@ -38,25 +38,25 @@ func NewPrefixQuery(prefix string) *PrefixQuery { func (q *PrefixQuery) SetBoost(b float64) { boost := Boost(b) - q.Boost = &boost + q.BoostVal = &boost +} + +func (q *PrefixQuery) Boost() float64{ + return q.BoostVal.Value() } func (q *PrefixQuery) SetField(f string) { - q.Field = f + q.FieldVal = f } -func (q *PrefixQuery) GetField() string{ - return q.Field -} - -func (q *PrefixQuery) GetBoost() float64{ - return q.Boost.Value() +func (q *PrefixQuery) Field() string{ + return q.FieldVal } func (q *PrefixQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { - field := q.Field - if q.Field == "" { + field := q.FieldVal + if q.FieldVal == "" { field = m.DefaultSearchField() } - return searcher.NewTermPrefixSearcher(i, q.Prefix, field, q.Boost.Value(), explain) + return searcher.NewTermPrefixSearcher(i, q.Prefix, field, q.BoostVal.Value(), explain) } diff --git a/search/query/query.go b/search/query/query.go index d0867b8c..711bf931 100644 --- a/search/query/query.go +++ b/search/query/query.go @@ -44,7 +44,7 @@ type Query interface { type BoostableQuery interface { Query SetBoost(b float64) - GetBoost() float64 + Boost() float64 } // A FieldableQuery represents a Query which can be restricted @@ -52,7 +52,7 @@ type BoostableQuery interface { type FieldableQuery interface { Query SetField(f string) - GetField() string + Field() string } // A ValidatableQuery represents a Query which can be validated diff --git a/search/query/regexp.go b/search/query/regexp.go index f246c5c1..21d29b71 100644 --- a/search/query/regexp.go +++ b/search/query/regexp.go @@ -26,8 +26,8 @@ import ( type RegexpQuery struct { Regexp string `json:"regexp"` - Field string `json:"field,omitempty"` - Boost *Boost `json:"boost,omitempty"` + FieldVal string `json:"field,omitempty"` + BoostVal *Boost `json:"boost,omitempty"` compiled *regexp.Regexp } @@ -42,24 +42,24 @@ func NewRegexpQuery(regexp string) *RegexpQuery { func (q *RegexpQuery) SetBoost(b float64) { boost := Boost(b) - q.Boost = &boost + q.BoostVal = &boost +} + +func (q *RegexpQuery) Boost() float64{ + return q.BoostVal.Value() } func (q *RegexpQuery) SetField(f string) { - q.Field = f + q.FieldVal = f } -func (q *RegexpQuery) GetField() string{ - return q.Field -} - -func (q *RegexpQuery) GetBoost() float64{ - return q.Boost.Value() +func (q *RegexpQuery) Field() string{ + return q.FieldVal } func (q *RegexpQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { - field := q.Field - if q.Field == "" { + field := q.FieldVal + if q.FieldVal == "" { field = m.DefaultSearchField() } err := q.compile() @@ -67,7 +67,7 @@ func (q *RegexpQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, expl return nil, err } - return searcher.NewRegexpSearcher(i, q.compiled, field, q.Boost.Value(), explain) + return searcher.NewRegexpSearcher(i, q.compiled, field, q.BoostVal.Value(), explain) } func (q *RegexpQuery) Validate() error { diff --git a/search/query/term.go b/search/query/term.go index 446ecb67..0e939ad3 100644 --- a/search/query/term.go +++ b/search/query/term.go @@ -22,9 +22,9 @@ import ( ) type TermQuery struct { - Term string `json:"term"` - Field string `json:"field,omitempty"` - Boost *Boost `json:"boost,omitempty"` + Term string `json:"term"` + FieldVal string `json:"field,omitempty"` + BoostVal *Boost `json:"boost,omitempty"` } // NewTermQuery creates a new Query for finding an @@ -37,25 +37,25 @@ func NewTermQuery(term string) *TermQuery { func (q *TermQuery) SetBoost(b float64) { boost := Boost(b) - q.Boost = &boost + q.BoostVal = &boost +} + +func (q *TermQuery) Boost() float64{ + return q.BoostVal.Value() } func (q *TermQuery) SetField(f string) { - q.Field = f + q.FieldVal = f } -func (q *TermQuery) GetField() string{ - return q.Field -} - -func (q *TermQuery) GetBoost() float64{ - return q.Boost.Value() +func (q *TermQuery) Field() string{ + return q.FieldVal } func (q *TermQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { - field := q.Field - if q.Field == "" { + field := q.FieldVal + if q.FieldVal == "" { field = m.DefaultSearchField() } - return searcher.NewTermSearcher(i, q.Term, field, q.Boost.Value(), explain) + return searcher.NewTermSearcher(i, q.Term, field, q.BoostVal.Value(), explain) } diff --git a/search/query/wildcard.go b/search/query/wildcard.go index 7d248758..e2adc24b 100644 --- a/search/query/wildcard.go +++ b/search/query/wildcard.go @@ -45,8 +45,8 @@ var wildcardRegexpReplacer = strings.NewReplacer( type WildcardQuery struct { Wildcard string `json:"wildcard"` - Field string `json:"field,omitempty"` - Boost *Boost `json:"boost,omitempty"` + FieldVal string `json:"field,omitempty"` + BoostVal *Boost `json:"boost,omitempty"` compiled *regexp.Regexp } @@ -63,24 +63,24 @@ func NewWildcardQuery(wildcard string) *WildcardQuery { func (q *WildcardQuery) SetBoost(b float64) { boost := Boost(b) - q.Boost = &boost + q.BoostVal = &boost } func (q *WildcardQuery) SetField(f string) { - q.Field = f + q.FieldVal = f } -func (q *WildcardQuery) GetField() string{ - return q.Field +func (q *WildcardQuery) Field() string{ + return q.FieldVal } -func (q *WildcardQuery) GetBoost() float64{ - return q.Boost.Value() +func (q *WildcardQuery) Boost() float64{ + return q.BoostVal.Value() } func (q *WildcardQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { - field := q.Field - if q.Field == "" { + field := q.FieldVal + if q.FieldVal == "" { field = m.DefaultSearchField() } if q.compiled == nil { @@ -91,7 +91,7 @@ func (q *WildcardQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, ex } } - return searcher.NewRegexpSearcher(i, q.compiled, field, q.Boost.Value(), explain) + return searcher.NewRegexpSearcher(i, q.compiled, field, q.BoostVal.Value(), explain) } func (q *WildcardQuery) Validate() error { From a4c94e440e98b8e444d4b8f07692f57bac74eb26 Mon Sep 17 00:00:00 2001 From: slavikm Date: Tue, 22 Nov 2016 12:50:08 -0800 Subject: [PATCH 3/5] Added missing boost getters --- search/query/bool_field.go | 5 ++++- search/query/boolean.go | 19 +++++++++++++------ search/query/conjunction.go | 13 ++++++++++--- search/query/date_range.go | 5 ++++- search/query/disjunction.go | 14 +++++++++++--- search/query/docid.go | 15 +++++++++++---- search/query/fuzzy.go | 5 ++++- search/query/match.go | 5 ++++- search/query/match_all.go | 17 +++++++++++++---- search/query/match_none.go | 13 ++++++++++--- search/query/match_phrase.go | 5 ++++- search/query/numeric_range.go | 5 ++++- search/query/phrase.go | 15 +++++++++++---- search/query/prefix.go | 5 ++++- search/query/query_string.go | 13 ++++++++++--- search/query/regexp.go | 5 ++++- search/query/term.go | 5 ++++- search/query/wildcard.go | 11 +++++++---- 18 files changed, 132 insertions(+), 43 deletions(-) diff --git a/search/query/bool_field.go b/search/query/bool_field.go index 1640af6c..be109fc4 100644 --- a/search/query/bool_field.go +++ b/search/query/bool_field.go @@ -40,7 +40,10 @@ func (q *BoolFieldQuery) SetBoost(b float64) { } func (q *BoolFieldQuery) Boost() float64{ - return q.BoostVal.Value() + if q.BoostVal != nil { + return q.BoostVal.Value() + } + return 0 } func (q *BoolFieldQuery) SetField(f string) { diff --git a/search/query/boolean.go b/search/query/boolean.go index ea7f5dec..902bf66c 100644 --- a/search/query/boolean.go +++ b/search/query/boolean.go @@ -25,10 +25,10 @@ import ( ) type BooleanQuery struct { - Must Query `json:"must,omitempty"` - Should Query `json:"should,omitempty"` - MustNot Query `json:"must_not,omitempty"` - Boost *Boost `json:"boost,omitempty"` + Must Query `json:"must,omitempty"` + Should Query `json:"should,omitempty"` + MustNot Query `json:"must_not,omitempty"` + BoostVal *Boost `json:"boost,omitempty"` } // NewBooleanQuery creates a compound Query composed @@ -90,7 +90,14 @@ func (q *BooleanQuery) AddMustNot(m ...Query) { func (q *BooleanQuery) SetBoost(b float64) { boost := Boost(b) - q.Boost = &boost + q.BoostVal = &boost +} + +func (q *BooleanQuery) Boost() float64{ + if q.BoostVal != nil { + return q.BoostVal.Value() + } + return 0 } func (q *BooleanQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { @@ -199,7 +206,7 @@ func (q *BooleanQuery) UnmarshalJSON(data []byte) error { } } - q.Boost = tmp.Boost + q.BoostVal = tmp.Boost return nil } diff --git a/search/query/conjunction.go b/search/query/conjunction.go index e48b379b..125807f3 100644 --- a/search/query/conjunction.go +++ b/search/query/conjunction.go @@ -25,7 +25,7 @@ import ( type ConjunctionQuery struct { Conjuncts []Query `json:"conjuncts"` - Boost *Boost `json:"boost,omitempty"` + BoostVal *Boost `json:"boost,omitempty"` } // NewConjunctionQuery creates a new compound Query. @@ -38,7 +38,14 @@ func NewConjunctionQuery(conjuncts []Query) *ConjunctionQuery { func (q *ConjunctionQuery) SetBoost(b float64) { boost := Boost(b) - q.Boost = &boost + q.BoostVal = &boost +} + +func (q *ConjunctionQuery) Boost() float64{ + if q.BoostVal != nil { + return q.BoostVal.Value() + } + return 0 } func (q *ConjunctionQuery) AddQuery(aq ...Query) { @@ -93,6 +100,6 @@ func (q *ConjunctionQuery) UnmarshalJSON(data []byte) error { } q.Conjuncts[i] = query } - q.Boost = tmp.Boost + q.BoostVal = tmp.Boost return nil } diff --git a/search/query/date_range.go b/search/query/date_range.go index 8c5811f1..fb6f9efc 100644 --- a/search/query/date_range.go +++ b/search/query/date_range.go @@ -114,7 +114,10 @@ func (q *DateRangeQuery) SetBoost(b float64) { } func (q *DateRangeQuery) Boost() float64{ - return q.BoostVal.Value() + if q.BoostVal != nil { + return q.BoostVal.Value() + } + return 0 } diff --git a/search/query/disjunction.go b/search/query/disjunction.go index b4b8575e..ed8e1400 100644 --- a/search/query/disjunction.go +++ b/search/query/disjunction.go @@ -26,7 +26,7 @@ import ( type DisjunctionQuery struct { Disjuncts []Query `json:"disjuncts"` - Boost *Boost `json:"boost,omitempty"` + BoostVal *Boost `json:"boost,omitempty"` Min float64 `json:"min"` } @@ -40,9 +40,17 @@ func NewDisjunctionQuery(disjuncts []Query) *DisjunctionQuery { func (q *DisjunctionQuery) SetBoost(b float64) { boost := Boost(b) - q.Boost = &boost + q.BoostVal = &boost } +func (q *DisjunctionQuery) Boost() float64{ + if q.BoostVal != nil { + return q.BoostVal.Value() + } + return 0 +} + + func (q *DisjunctionQuery) AddQuery(aq ...Query) { for _, aaq := range aq { q.Disjuncts = append(q.Disjuncts, aaq) @@ -103,7 +111,7 @@ func (q *DisjunctionQuery) UnmarshalJSON(data []byte) error { } q.Disjuncts[i] = query } - q.Boost = tmp.Boost + q.BoostVal = tmp.Boost q.Min = tmp.Min return nil } diff --git a/search/query/docid.go b/search/query/docid.go index 3bf372b8..9d52a53a 100644 --- a/search/query/docid.go +++ b/search/query/docid.go @@ -22,8 +22,8 @@ import ( ) type DocIDQuery struct { - IDs []string `json:"ids"` - Boost *Boost `json:"boost,omitempty"` + IDs []string `json:"ids"` + BoostVal *Boost `json:"boost,omitempty"` } // NewDocIDQuery creates a new Query object returning indexed documents among @@ -37,9 +37,16 @@ func NewDocIDQuery(ids []string) *DocIDQuery { func (q *DocIDQuery) SetBoost(b float64) { boost := Boost(b) - q.Boost = &boost + q.BoostVal = &boost +} + +func (q *DocIDQuery) Boost() float64{ + if q.BoostVal != nil { + return q.BoostVal.Value() + } + return 0 } func (q *DocIDQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { - return searcher.NewDocIDSearcher(i, q.IDs, q.Boost.Value(), explain) + return searcher.NewDocIDSearcher(i, q.IDs, q.BoostVal.Value(), explain) } diff --git a/search/query/fuzzy.go b/search/query/fuzzy.go index 6effd343..1973b14d 100644 --- a/search/query/fuzzy.go +++ b/search/query/fuzzy.go @@ -49,7 +49,10 @@ func (q *FuzzyQuery) SetBoost(b float64) { } func (q *FuzzyQuery) Boost() float64{ - return q.BoostVal.Value() + if q.BoostVal != nil { + return q.BoostVal.Value() + } + return 0 } func (q *FuzzyQuery) SetField(f string) { diff --git a/search/query/match.go b/search/query/match.go index 6d0b0053..da544163 100644 --- a/search/query/match.go +++ b/search/query/match.go @@ -91,7 +91,10 @@ func (q *MatchQuery) SetBoost(b float64) { } func (q *MatchQuery) Boost() float64{ - return q.BoostVal.Value() + if q.BoostVal != nil { + return q.BoostVal.Value() + } + return 0 } func (q *MatchQuery) SetField(f string) { diff --git a/search/query/match_all.go b/search/query/match_all.go index d33e2bb2..601455bb 100644 --- a/search/query/match_all.go +++ b/search/query/match_all.go @@ -24,7 +24,7 @@ import ( ) type MatchAllQuery struct { - Boost *Boost `json:"boost,omitempty"` + BoostVal *Boost `json:"boost,omitempty"` } // NewMatchAllQuery creates a Query which will @@ -35,16 +35,25 @@ func NewMatchAllQuery() *MatchAllQuery { func (q *MatchAllQuery) SetBoost(b float64) { boost := Boost(b) - q.Boost = &boost + q.BoostVal = &boost } +func (q *MatchAllQuery) Boost() float64{ + if q.BoostVal != nil { + return q.BoostVal.Value() + } + return 0 +} + + + func (q *MatchAllQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { - return searcher.NewMatchAllSearcher(i, q.Boost.Value(), explain) + return searcher.NewMatchAllSearcher(i, q.BoostVal.Value(), explain) } func (q *MatchAllQuery) MarshalJSON() ([]byte, error) { tmp := map[string]interface{}{ - "boost": q.Boost, + "boost": q.BoostVal, "match_all": map[string]interface{}{}, } return json.Marshal(tmp) diff --git a/search/query/match_none.go b/search/query/match_none.go index ccc5d5f7..34391674 100644 --- a/search/query/match_none.go +++ b/search/query/match_none.go @@ -24,7 +24,7 @@ import ( ) type MatchNoneQuery struct { - Boost *Boost `json:"boost,omitempty"` + BoostVal *Boost `json:"boost,omitempty"` } // NewMatchNoneQuery creates a Query which will not @@ -35,7 +35,14 @@ func NewMatchNoneQuery() *MatchNoneQuery { func (q *MatchNoneQuery) SetBoost(b float64) { boost := Boost(b) - q.Boost = &boost + q.BoostVal = &boost +} + +func (q *MatchNoneQuery) Boost() float64{ + if q.BoostVal != nil { + return q.BoostVal.Value() + } + return 0 } func (q *MatchNoneQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { @@ -44,7 +51,7 @@ func (q *MatchNoneQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, e func (q *MatchNoneQuery) MarshalJSON() ([]byte, error) { tmp := map[string]interface{}{ - "boost": q.Boost, + "boost": q.BoostVal, "match_none": map[string]interface{}{}, } return json.Marshal(tmp) diff --git a/search/query/match_phrase.go b/search/query/match_phrase.go index a148808f..bd03c1b6 100644 --- a/search/query/match_phrase.go +++ b/search/query/match_phrase.go @@ -50,7 +50,10 @@ func (q *MatchPhraseQuery) SetBoost(b float64) { } func (q *MatchPhraseQuery) Boost() float64{ - return q.BoostVal.Value() + if q.BoostVal != nil { + return q.BoostVal.Value() + } + return 0 } func (q *MatchPhraseQuery) SetField(f string) { diff --git a/search/query/numeric_range.go b/search/query/numeric_range.go index 93f7fd6b..6fffa642 100644 --- a/search/query/numeric_range.go +++ b/search/query/numeric_range.go @@ -60,7 +60,10 @@ func (q *NumericRangeQuery) SetBoost(b float64) { } func (q *NumericRangeQuery) Boost() float64{ - return q.BoostVal.Value() + if q.BoostVal != nil { + return q.BoostVal.Value() + } + return 0 } func (q *NumericRangeQuery) SetField(f string) { diff --git a/search/query/phrase.go b/search/query/phrase.go index 2d382bbd..0ab8f575 100644 --- a/search/query/phrase.go +++ b/search/query/phrase.go @@ -27,7 +27,7 @@ import ( type PhraseQuery struct { Terms []string `json:"terms"` Field string `json:"field,omitempty"` - Boost *Boost `json:"boost,omitempty"` + BoostVal *Boost `json:"boost,omitempty"` termQueries []Query } @@ -55,7 +55,14 @@ func NewPhraseQuery(terms []string, field string) *PhraseQuery { func (q *PhraseQuery) SetBoost(b float64) { boost := Boost(b) - q.Boost = &boost + q.BoostVal = &boost +} + +func (q *PhraseQuery) Boost() float64{ + if q.BoostVal != nil { + return q.BoostVal.Value() + } + return 0 } func (q *PhraseQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { @@ -84,10 +91,10 @@ func (q *PhraseQuery) UnmarshalJSON(data []byte) error { } q.Terms = tmp.Terms q.Field = tmp.Field - q.Boost = tmp.Boost + q.BoostVal = tmp.BoostVal q.termQueries = make([]Query, len(q.Terms)) for i, term := range q.Terms { - q.termQueries[i] = &TermQuery{Term: term, FieldVal: q.Field, BoostVal: q.Boost} + q.termQueries[i] = &TermQuery{Term: term, FieldVal: q.Field, BoostVal: q.BoostVal} } return nil } diff --git a/search/query/prefix.go b/search/query/prefix.go index d8c2bb2f..5c013862 100644 --- a/search/query/prefix.go +++ b/search/query/prefix.go @@ -42,7 +42,10 @@ func (q *PrefixQuery) SetBoost(b float64) { } func (q *PrefixQuery) Boost() float64{ - return q.BoostVal.Value() + if q.BoostVal != nil { + return q.BoostVal.Value() + } + return 0 } func (q *PrefixQuery) SetField(f string) { diff --git a/search/query/query_string.go b/search/query/query_string.go index 1e2785d7..366cce04 100644 --- a/search/query/query_string.go +++ b/search/query/query_string.go @@ -21,8 +21,8 @@ import ( ) type QueryStringQuery struct { - Query string `json:"query"` - Boost *Boost `json:"boost,omitempty"` + Query string `json:"query"` + BoostVal *Boost `json:"boost,omitempty"` } // NewQueryStringQuery creates a new Query used for @@ -36,7 +36,14 @@ func NewQueryStringQuery(query string) *QueryStringQuery { func (q *QueryStringQuery) SetBoost(b float64) { boost := Boost(b) - q.Boost = &boost + q.BoostVal = &boost +} + +func (q *QueryStringQuery) Boost() float64{ + if q.BoostVal != nil { + return q.BoostVal.Value() + } + return 0 } func (q *QueryStringQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { diff --git a/search/query/regexp.go b/search/query/regexp.go index 21d29b71..070c4026 100644 --- a/search/query/regexp.go +++ b/search/query/regexp.go @@ -46,7 +46,10 @@ func (q *RegexpQuery) SetBoost(b float64) { } func (q *RegexpQuery) Boost() float64{ - return q.BoostVal.Value() + if q.BoostVal != nil { + return q.BoostVal.Value() + } + return 0 } func (q *RegexpQuery) SetField(f string) { diff --git a/search/query/term.go b/search/query/term.go index 0e939ad3..a12a610e 100644 --- a/search/query/term.go +++ b/search/query/term.go @@ -41,7 +41,10 @@ func (q *TermQuery) SetBoost(b float64) { } func (q *TermQuery) Boost() float64{ - return q.BoostVal.Value() + if q.BoostVal != nil { + return q.BoostVal.Value() + } + return 0 } func (q *TermQuery) SetField(f string) { diff --git a/search/query/wildcard.go b/search/query/wildcard.go index e2adc24b..5ed420f4 100644 --- a/search/query/wildcard.go +++ b/search/query/wildcard.go @@ -66,6 +66,13 @@ func (q *WildcardQuery) SetBoost(b float64) { q.BoostVal = &boost } +func (q *WildcardQuery) Boost() float64{ + if q.BoostVal != nil { + return q.BoostVal.Value() + } + return 0 +} + func (q *WildcardQuery) SetField(f string) { q.FieldVal = f } @@ -74,10 +81,6 @@ func (q *WildcardQuery) Field() string{ return q.FieldVal } -func (q *WildcardQuery) Boost() float64{ - return q.BoostVal.Value() -} - func (q *WildcardQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { field := q.FieldVal if q.FieldVal == "" { From 20b847f04e05e4ef117146a5fc797f657ed6132a Mon Sep 17 00:00:00 2001 From: slavikm Date: Tue, 22 Nov 2016 13:04:36 -0800 Subject: [PATCH 4/5] Added protection again nil Boost --- search/query/bool_field.go | 2 +- search/query/date_range.go | 2 +- search/query/docid.go | 2 +- search/query/fuzzy.go | 2 +- search/query/match.go | 8 ++++---- search/query/match_all.go | 2 +- search/query/match_phrase.go | 2 +- search/query/numeric_range.go | 2 +- search/query/prefix.go | 2 +- search/query/regexp.go | 2 +- search/query/term.go | 2 +- search/query/wildcard.go | 2 +- 12 files changed, 15 insertions(+), 15 deletions(-) diff --git a/search/query/bool_field.go b/search/query/bool_field.go index be109fc4..e1b88c11 100644 --- a/search/query/bool_field.go +++ b/search/query/bool_field.go @@ -64,5 +64,5 @@ func (q *BoolFieldQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, e if q.Bool { term = "T" } - return searcher.NewTermSearcher(i, term, field, q.BoostVal.Value(), explain) + return searcher.NewTermSearcher(i, term, field, q.Boost(), explain) } diff --git a/search/query/date_range.go b/search/query/date_range.go index fb6f9efc..daccab32 100644 --- a/search/query/date_range.go +++ b/search/query/date_range.go @@ -140,7 +140,7 @@ func (q *DateRangeQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, e field = m.DefaultSearchField() } - return searcher.NewNumericRangeSearcher(i, min, max, q.InclusiveStart, q.InclusiveEnd, field, q.BoostVal.Value(), explain) + return searcher.NewNumericRangeSearcher(i, min, max, q.InclusiveStart, q.InclusiveEnd, field, q.Boost(), explain) } func (q *DateRangeQuery) parseEndpoints() (*float64, *float64, error) { diff --git a/search/query/docid.go b/search/query/docid.go index 9d52a53a..08527462 100644 --- a/search/query/docid.go +++ b/search/query/docid.go @@ -48,5 +48,5 @@ func (q *DocIDQuery) Boost() float64{ } func (q *DocIDQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { - return searcher.NewDocIDSearcher(i, q.IDs, q.BoostVal.Value(), explain) + return searcher.NewDocIDSearcher(i, q.IDs, q.Boost(), explain) } diff --git a/search/query/fuzzy.go b/search/query/fuzzy.go index 1973b14d..d9ca0ea3 100644 --- a/search/query/fuzzy.go +++ b/search/query/fuzzy.go @@ -76,5 +76,5 @@ func (q *FuzzyQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, expla if q.FieldVal == "" { field = m.DefaultSearchField() } - return searcher.NewFuzzySearcher(i, q.Term, q.Prefix, q.Fuzziness, field, q.BoostVal.Value(), explain) + return searcher.NewFuzzySearcher(i, q.Term, q.Prefix, q.Fuzziness, field, q.Boost(), explain) } diff --git a/search/query/match.go b/search/query/match.go index da544163..18ff9b72 100644 --- a/search/query/match.go +++ b/search/query/match.go @@ -146,14 +146,14 @@ func (q *MatchQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, expla query.SetFuzziness(q.Fuzziness) query.SetPrefix(q.Prefix) query.SetField(field) - query.SetBoost(q.BoostVal.Value()) + query.SetBoost(q.Boost()) tqs[i] = query } } else { for i, token := range tokens { tq := NewTermQuery(string(token.Term)) tq.SetField(field) - tq.SetBoost(q.BoostVal.Value()) + tq.SetBoost(q.Boost()) tqs[i] = tq } } @@ -162,12 +162,12 @@ func (q *MatchQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, expla case MatchQueryOperatorOr: shouldQuery := NewDisjunctionQuery(tqs) shouldQuery.SetMin(1) - shouldQuery.SetBoost(q.BoostVal.Value()) + shouldQuery.SetBoost(q.Boost()) return shouldQuery.Searcher(i, m, explain) case MatchQueryOperatorAnd: mustQuery := NewConjunctionQuery(tqs) - mustQuery.SetBoost(q.BoostVal.Value()) + mustQuery.SetBoost(q.Boost()) return mustQuery.Searcher(i, m, explain) default: diff --git a/search/query/match_all.go b/search/query/match_all.go index 601455bb..347f20ba 100644 --- a/search/query/match_all.go +++ b/search/query/match_all.go @@ -48,7 +48,7 @@ func (q *MatchAllQuery) Boost() float64{ func (q *MatchAllQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { - return searcher.NewMatchAllSearcher(i, q.BoostVal.Value(), explain) + return searcher.NewMatchAllSearcher(i, q.Boost(), explain) } func (q *MatchAllQuery) MarshalJSON() ([]byte, error) { diff --git a/search/query/match_phrase.go b/search/query/match_phrase.go index bd03c1b6..7dc5f7d8 100644 --- a/search/query/match_phrase.go +++ b/search/query/match_phrase.go @@ -85,7 +85,7 @@ func (q *MatchPhraseQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, if len(tokens) > 0 { phrase := tokenStreamToPhrase(tokens) phraseQuery := NewPhraseQuery(phrase, field) - phraseQuery.SetBoost(q.BoostVal.Value()) + phraseQuery.SetBoost(q.Boost()) return phraseQuery.Searcher(i, m, explain) } noneQuery := NewMatchNoneQuery() diff --git a/search/query/numeric_range.go b/search/query/numeric_range.go index 6fffa642..e07972d8 100644 --- a/search/query/numeric_range.go +++ b/search/query/numeric_range.go @@ -79,7 +79,7 @@ func (q *NumericRangeQuery) Searcher(i index.IndexReader, m mapping.IndexMapping if q.FieldVal == "" { field = m.DefaultSearchField() } - return searcher.NewNumericRangeSearcher(i, q.Min, q.Max, q.InclusiveMin, q.InclusiveMax, field, q.BoostVal.Value(), explain) + return searcher.NewNumericRangeSearcher(i, q.Min, q.Max, q.InclusiveMin, q.InclusiveMax, field, q.Boost(), explain) } func (q *NumericRangeQuery) Validate() error { diff --git a/search/query/prefix.go b/search/query/prefix.go index 5c013862..bdf412e2 100644 --- a/search/query/prefix.go +++ b/search/query/prefix.go @@ -61,5 +61,5 @@ func (q *PrefixQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, expl if q.FieldVal == "" { field = m.DefaultSearchField() } - return searcher.NewTermPrefixSearcher(i, q.Prefix, field, q.BoostVal.Value(), explain) + return searcher.NewTermPrefixSearcher(i, q.Prefix, field, q.Boost(), explain) } diff --git a/search/query/regexp.go b/search/query/regexp.go index 070c4026..42cf4f5e 100644 --- a/search/query/regexp.go +++ b/search/query/regexp.go @@ -70,7 +70,7 @@ func (q *RegexpQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, expl return nil, err } - return searcher.NewRegexpSearcher(i, q.compiled, field, q.BoostVal.Value(), explain) + return searcher.NewRegexpSearcher(i, q.compiled, field, q.Boost(), explain) } func (q *RegexpQuery) Validate() error { diff --git a/search/query/term.go b/search/query/term.go index a12a610e..199a1626 100644 --- a/search/query/term.go +++ b/search/query/term.go @@ -60,5 +60,5 @@ func (q *TermQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explai if q.FieldVal == "" { field = m.DefaultSearchField() } - return searcher.NewTermSearcher(i, q.Term, field, q.BoostVal.Value(), explain) + return searcher.NewTermSearcher(i, q.Term, field, q.Boost(), explain) } diff --git a/search/query/wildcard.go b/search/query/wildcard.go index 5ed420f4..7b6bdef8 100644 --- a/search/query/wildcard.go +++ b/search/query/wildcard.go @@ -94,7 +94,7 @@ func (q *WildcardQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, ex } } - return searcher.NewRegexpSearcher(i, q.compiled, field, q.BoostVal.Value(), explain) + return searcher.NewRegexpSearcher(i, q.compiled, field, q.Boost(), explain) } func (q *WildcardQuery) Validate() error { From 75c8c0e2b102391b7fe57041ae618dd52bdb0aa8 Mon Sep 17 00:00:00 2001 From: slavikm Date: Wed, 23 Nov 2016 09:26:07 -0800 Subject: [PATCH 5/5] Revert the nil protection which is not needed --- search/query/bool_field.go | 5 +---- search/query/boolean.go | 5 +---- search/query/conjunction.go | 5 +---- search/query/date_range.go | 7 ++----- search/query/disjunction.go | 5 +---- search/query/docid.go | 7 ++----- search/query/fuzzy.go | 7 ++----- search/query/match.go | 13 +++++-------- search/query/match_all.go | 7 ++----- search/query/match_none.go | 5 +---- search/query/match_phrase.go | 7 ++----- search/query/numeric_range.go | 7 ++----- search/query/phrase.go | 5 +---- search/query/prefix.go | 7 ++----- search/query/query_string.go | 5 +---- search/query/regexp.go | 7 ++----- search/query/term.go | 7 ++----- search/query/wildcard.go | 7 ++----- 18 files changed, 32 insertions(+), 86 deletions(-) diff --git a/search/query/bool_field.go b/search/query/bool_field.go index e1b88c11..402724ce 100644 --- a/search/query/bool_field.go +++ b/search/query/bool_field.go @@ -40,10 +40,7 @@ func (q *BoolFieldQuery) SetBoost(b float64) { } func (q *BoolFieldQuery) Boost() float64{ - if q.BoostVal != nil { return q.BoostVal.Value() - } - return 0 } func (q *BoolFieldQuery) SetField(f string) { @@ -64,5 +61,5 @@ func (q *BoolFieldQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, e if q.Bool { term = "T" } - return searcher.NewTermSearcher(i, term, field, q.Boost(), explain) + return searcher.NewTermSearcher(i, term, field, q.BoostVal.Value(), explain) } diff --git a/search/query/boolean.go b/search/query/boolean.go index 902bf66c..2fe75ff9 100644 --- a/search/query/boolean.go +++ b/search/query/boolean.go @@ -94,10 +94,7 @@ func (q *BooleanQuery) SetBoost(b float64) { } func (q *BooleanQuery) Boost() float64{ - if q.BoostVal != nil { - return q.BoostVal.Value() - } - return 0 + return q.BoostVal.Value() } func (q *BooleanQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { diff --git a/search/query/conjunction.go b/search/query/conjunction.go index 125807f3..e819d697 100644 --- a/search/query/conjunction.go +++ b/search/query/conjunction.go @@ -42,10 +42,7 @@ func (q *ConjunctionQuery) SetBoost(b float64) { } func (q *ConjunctionQuery) Boost() float64{ - if q.BoostVal != nil { - return q.BoostVal.Value() - } - return 0 + return q.BoostVal.Value() } func (q *ConjunctionQuery) AddQuery(aq ...Query) { diff --git a/search/query/date_range.go b/search/query/date_range.go index daccab32..8c5811f1 100644 --- a/search/query/date_range.go +++ b/search/query/date_range.go @@ -114,10 +114,7 @@ func (q *DateRangeQuery) SetBoost(b float64) { } func (q *DateRangeQuery) Boost() float64{ - if q.BoostVal != nil { - return q.BoostVal.Value() - } - return 0 + return q.BoostVal.Value() } @@ -140,7 +137,7 @@ func (q *DateRangeQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, e field = m.DefaultSearchField() } - return searcher.NewNumericRangeSearcher(i, min, max, q.InclusiveStart, q.InclusiveEnd, field, q.Boost(), explain) + return searcher.NewNumericRangeSearcher(i, min, max, q.InclusiveStart, q.InclusiveEnd, field, q.BoostVal.Value(), explain) } func (q *DateRangeQuery) parseEndpoints() (*float64, *float64, error) { diff --git a/search/query/disjunction.go b/search/query/disjunction.go index ed8e1400..08f47c41 100644 --- a/search/query/disjunction.go +++ b/search/query/disjunction.go @@ -44,10 +44,7 @@ func (q *DisjunctionQuery) SetBoost(b float64) { } func (q *DisjunctionQuery) Boost() float64{ - if q.BoostVal != nil { - return q.BoostVal.Value() - } - return 0 + return q.BoostVal.Value() } diff --git a/search/query/docid.go b/search/query/docid.go index 08527462..c633d947 100644 --- a/search/query/docid.go +++ b/search/query/docid.go @@ -41,12 +41,9 @@ func (q *DocIDQuery) SetBoost(b float64) { } func (q *DocIDQuery) Boost() float64{ - if q.BoostVal != nil { - return q.BoostVal.Value() - } - return 0 + return q.BoostVal.Value() } func (q *DocIDQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { - return searcher.NewDocIDSearcher(i, q.IDs, q.Boost(), explain) + return searcher.NewDocIDSearcher(i, q.IDs, q.BoostVal.Value(), explain) } diff --git a/search/query/fuzzy.go b/search/query/fuzzy.go index d9ca0ea3..6effd343 100644 --- a/search/query/fuzzy.go +++ b/search/query/fuzzy.go @@ -49,10 +49,7 @@ func (q *FuzzyQuery) SetBoost(b float64) { } func (q *FuzzyQuery) Boost() float64{ - if q.BoostVal != nil { - return q.BoostVal.Value() - } - return 0 + return q.BoostVal.Value() } func (q *FuzzyQuery) SetField(f string) { @@ -76,5 +73,5 @@ func (q *FuzzyQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, expla if q.FieldVal == "" { field = m.DefaultSearchField() } - return searcher.NewFuzzySearcher(i, q.Term, q.Prefix, q.Fuzziness, field, q.Boost(), explain) + return searcher.NewFuzzySearcher(i, q.Term, q.Prefix, q.Fuzziness, field, q.BoostVal.Value(), explain) } diff --git a/search/query/match.go b/search/query/match.go index 18ff9b72..6d0b0053 100644 --- a/search/query/match.go +++ b/search/query/match.go @@ -91,10 +91,7 @@ func (q *MatchQuery) SetBoost(b float64) { } func (q *MatchQuery) Boost() float64{ - if q.BoostVal != nil { - return q.BoostVal.Value() - } - return 0 + return q.BoostVal.Value() } func (q *MatchQuery) SetField(f string) { @@ -146,14 +143,14 @@ func (q *MatchQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, expla query.SetFuzziness(q.Fuzziness) query.SetPrefix(q.Prefix) query.SetField(field) - query.SetBoost(q.Boost()) + query.SetBoost(q.BoostVal.Value()) tqs[i] = query } } else { for i, token := range tokens { tq := NewTermQuery(string(token.Term)) tq.SetField(field) - tq.SetBoost(q.Boost()) + tq.SetBoost(q.BoostVal.Value()) tqs[i] = tq } } @@ -162,12 +159,12 @@ func (q *MatchQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, expla case MatchQueryOperatorOr: shouldQuery := NewDisjunctionQuery(tqs) shouldQuery.SetMin(1) - shouldQuery.SetBoost(q.Boost()) + shouldQuery.SetBoost(q.BoostVal.Value()) return shouldQuery.Searcher(i, m, explain) case MatchQueryOperatorAnd: mustQuery := NewConjunctionQuery(tqs) - mustQuery.SetBoost(q.Boost()) + mustQuery.SetBoost(q.BoostVal.Value()) return mustQuery.Searcher(i, m, explain) default: diff --git a/search/query/match_all.go b/search/query/match_all.go index 347f20ba..9eb7eb95 100644 --- a/search/query/match_all.go +++ b/search/query/match_all.go @@ -39,16 +39,13 @@ func (q *MatchAllQuery) SetBoost(b float64) { } func (q *MatchAllQuery) Boost() float64{ - if q.BoostVal != nil { - return q.BoostVal.Value() - } - return 0 + return q.BoostVal.Value() } func (q *MatchAllQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { - return searcher.NewMatchAllSearcher(i, q.Boost(), explain) + return searcher.NewMatchAllSearcher(i, q.BoostVal.Value(), explain) } func (q *MatchAllQuery) MarshalJSON() ([]byte, error) { diff --git a/search/query/match_none.go b/search/query/match_none.go index 34391674..5264c5a6 100644 --- a/search/query/match_none.go +++ b/search/query/match_none.go @@ -39,10 +39,7 @@ func (q *MatchNoneQuery) SetBoost(b float64) { } func (q *MatchNoneQuery) Boost() float64{ - if q.BoostVal != nil { - return q.BoostVal.Value() - } - return 0 + return q.BoostVal.Value() } func (q *MatchNoneQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { diff --git a/search/query/match_phrase.go b/search/query/match_phrase.go index 7dc5f7d8..a148808f 100644 --- a/search/query/match_phrase.go +++ b/search/query/match_phrase.go @@ -50,10 +50,7 @@ func (q *MatchPhraseQuery) SetBoost(b float64) { } func (q *MatchPhraseQuery) Boost() float64{ - if q.BoostVal != nil { - return q.BoostVal.Value() - } - return 0 + return q.BoostVal.Value() } func (q *MatchPhraseQuery) SetField(f string) { @@ -85,7 +82,7 @@ func (q *MatchPhraseQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, if len(tokens) > 0 { phrase := tokenStreamToPhrase(tokens) phraseQuery := NewPhraseQuery(phrase, field) - phraseQuery.SetBoost(q.Boost()) + phraseQuery.SetBoost(q.BoostVal.Value()) return phraseQuery.Searcher(i, m, explain) } noneQuery := NewMatchNoneQuery() diff --git a/search/query/numeric_range.go b/search/query/numeric_range.go index e07972d8..93f7fd6b 100644 --- a/search/query/numeric_range.go +++ b/search/query/numeric_range.go @@ -60,10 +60,7 @@ func (q *NumericRangeQuery) SetBoost(b float64) { } func (q *NumericRangeQuery) Boost() float64{ - if q.BoostVal != nil { - return q.BoostVal.Value() - } - return 0 + return q.BoostVal.Value() } func (q *NumericRangeQuery) SetField(f string) { @@ -79,7 +76,7 @@ func (q *NumericRangeQuery) Searcher(i index.IndexReader, m mapping.IndexMapping if q.FieldVal == "" { field = m.DefaultSearchField() } - return searcher.NewNumericRangeSearcher(i, q.Min, q.Max, q.InclusiveMin, q.InclusiveMax, field, q.Boost(), explain) + return searcher.NewNumericRangeSearcher(i, q.Min, q.Max, q.InclusiveMin, q.InclusiveMax, field, q.BoostVal.Value(), explain) } func (q *NumericRangeQuery) Validate() error { diff --git a/search/query/phrase.go b/search/query/phrase.go index 0ab8f575..0cd608b8 100644 --- a/search/query/phrase.go +++ b/search/query/phrase.go @@ -59,10 +59,7 @@ func (q *PhraseQuery) SetBoost(b float64) { } func (q *PhraseQuery) Boost() float64{ - if q.BoostVal != nil { - return q.BoostVal.Value() - } - return 0 + return q.BoostVal.Value() } func (q *PhraseQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { diff --git a/search/query/prefix.go b/search/query/prefix.go index bdf412e2..d8c2bb2f 100644 --- a/search/query/prefix.go +++ b/search/query/prefix.go @@ -42,10 +42,7 @@ func (q *PrefixQuery) SetBoost(b float64) { } func (q *PrefixQuery) Boost() float64{ - if q.BoostVal != nil { - return q.BoostVal.Value() - } - return 0 + return q.BoostVal.Value() } func (q *PrefixQuery) SetField(f string) { @@ -61,5 +58,5 @@ func (q *PrefixQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, expl if q.FieldVal == "" { field = m.DefaultSearchField() } - return searcher.NewTermPrefixSearcher(i, q.Prefix, field, q.Boost(), explain) + return searcher.NewTermPrefixSearcher(i, q.Prefix, field, q.BoostVal.Value(), explain) } diff --git a/search/query/query_string.go b/search/query/query_string.go index 366cce04..d8f421f4 100644 --- a/search/query/query_string.go +++ b/search/query/query_string.go @@ -40,10 +40,7 @@ func (q *QueryStringQuery) SetBoost(b float64) { } func (q *QueryStringQuery) Boost() float64{ - if q.BoostVal != nil { - return q.BoostVal.Value() - } - return 0 + return q.BoostVal.Value() } func (q *QueryStringQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) { diff --git a/search/query/regexp.go b/search/query/regexp.go index 42cf4f5e..21d29b71 100644 --- a/search/query/regexp.go +++ b/search/query/regexp.go @@ -46,10 +46,7 @@ func (q *RegexpQuery) SetBoost(b float64) { } func (q *RegexpQuery) Boost() float64{ - if q.BoostVal != nil { - return q.BoostVal.Value() - } - return 0 + return q.BoostVal.Value() } func (q *RegexpQuery) SetField(f string) { @@ -70,7 +67,7 @@ func (q *RegexpQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, expl return nil, err } - return searcher.NewRegexpSearcher(i, q.compiled, field, q.Boost(), explain) + return searcher.NewRegexpSearcher(i, q.compiled, field, q.BoostVal.Value(), explain) } func (q *RegexpQuery) Validate() error { diff --git a/search/query/term.go b/search/query/term.go index 199a1626..0e939ad3 100644 --- a/search/query/term.go +++ b/search/query/term.go @@ -41,10 +41,7 @@ func (q *TermQuery) SetBoost(b float64) { } func (q *TermQuery) Boost() float64{ - if q.BoostVal != nil { - return q.BoostVal.Value() - } - return 0 + return q.BoostVal.Value() } func (q *TermQuery) SetField(f string) { @@ -60,5 +57,5 @@ func (q *TermQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explai if q.FieldVal == "" { field = m.DefaultSearchField() } - return searcher.NewTermSearcher(i, q.Term, field, q.Boost(), explain) + return searcher.NewTermSearcher(i, q.Term, field, q.BoostVal.Value(), explain) } diff --git a/search/query/wildcard.go b/search/query/wildcard.go index 7b6bdef8..51a8cdef 100644 --- a/search/query/wildcard.go +++ b/search/query/wildcard.go @@ -67,10 +67,7 @@ func (q *WildcardQuery) SetBoost(b float64) { } func (q *WildcardQuery) Boost() float64{ - if q.BoostVal != nil { - return q.BoostVal.Value() - } - return 0 + return q.BoostVal.Value() } func (q *WildcardQuery) SetField(f string) { @@ -94,7 +91,7 @@ func (q *WildcardQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, ex } } - return searcher.NewRegexpSearcher(i, q.compiled, field, q.Boost(), explain) + return searcher.NewRegexpSearcher(i, q.compiled, field, q.BoostVal.Value(), explain) } func (q *WildcardQuery) Validate() error {