|
@@ -471,18 +471,17 @@ func (sr *SearchRule) GetEs(department, esquery string, tmpRange bson.M) {
|
|
|
qb := query["query"]
|
|
|
filter := qb.Filtered.Filter
|
|
|
if filter != nil && filter.Bool != nil { //有filter
|
|
|
- index := 1 //记录range的位置
|
|
|
- for _, m := range filter.Bool.Must {
|
|
|
+ index := -1 //记录range的位置
|
|
|
+ for i, m := range filter.Bool.Must {
|
|
|
mMap := m.(map[string]interface{})
|
|
|
if esRange, ok := mMap["range"].(map[string]interface{}); ok && esRange != nil { //有range
|
|
|
if esRange["publishtime"] != nil {
|
|
|
- index = 0
|
|
|
+ index = i
|
|
|
break
|
|
|
}
|
|
|
}
|
|
|
- break //只取第一个
|
|
|
}
|
|
|
- if index == 0 {
|
|
|
+ if index > -1 {
|
|
|
filter.Bool.Must[index] = tmpRange
|
|
|
} else {
|
|
|
filter.Bool.Must = append(filter.Bool.Must, tmpRange)
|