Skip to content

Commit e9c45ff

Browse files
Optimize boolean query handling with early exit on nil conditions (#2065)
- Early exit in boolean query if must/should/mustNot query list is nil.
1 parent ad2f7ae commit e9c45ff

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

search/query/boolean.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,9 @@ func (q *BooleanQuery) SetMinShould(minShould float64) {
7474
}
7575

7676
func (q *BooleanQuery) AddMust(m ...Query) {
77+
if m == nil {
78+
return
79+
}
7780
if q.Must == nil {
7881
tmp := NewConjunctionQuery([]Query{})
7982
tmp.queryStringMode = q.queryStringMode
@@ -85,6 +88,9 @@ func (q *BooleanQuery) AddMust(m ...Query) {
8588
}
8689

8790
func (q *BooleanQuery) AddShould(m ...Query) {
91+
if m == nil {
92+
return
93+
}
8894
if q.Should == nil {
8995
tmp := NewDisjunctionQuery([]Query{})
9096
tmp.queryStringMode = q.queryStringMode
@@ -96,6 +102,9 @@ func (q *BooleanQuery) AddShould(m ...Query) {
96102
}
97103

98104
func (q *BooleanQuery) AddMustNot(m ...Query) {
105+
if m == nil {
106+
return
107+
}
99108
if q.MustNot == nil {
100109
tmp := NewDisjunctionQuery([]Query{})
101110
tmp.queryStringMode = q.queryStringMode

0 commit comments

Comments
 (0)