Skip to content

Commit

Permalink
Optimize boolean query handling with early exit on nil conditions (#2065
Browse files Browse the repository at this point in the history
)

- Early exit in boolean query if must/should/mustNot query list is nil.
  • Loading branch information
CascadingRadium authored Aug 28, 2024
1 parent ad2f7ae commit e9c45ff
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions search/query/boolean.go
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,9 @@ func (q *BooleanQuery) SetMinShould(minShould float64) {
}

func (q *BooleanQuery) AddMust(m ...Query) {
if m == nil {
return
}
if q.Must == nil {
tmp := NewConjunctionQuery([]Query{})
tmp.queryStringMode = q.queryStringMode
Expand All @@ -85,6 +88,9 @@ func (q *BooleanQuery) AddMust(m ...Query) {
}

func (q *BooleanQuery) AddShould(m ...Query) {
if m == nil {
return
}
if q.Should == nil {
tmp := NewDisjunctionQuery([]Query{})
tmp.queryStringMode = q.queryStringMode
Expand All @@ -96,6 +102,9 @@ func (q *BooleanQuery) AddShould(m ...Query) {
}

func (q *BooleanQuery) AddMustNot(m ...Query) {
if m == nil {
return
}
if q.MustNot == nil {
tmp := NewDisjunctionQuery([]Query{})
tmp.queryStringMode = q.queryStringMode
Expand Down

0 comments on commit e9c45ff

Please sign in to comment.