summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/blevesearch/bleve/index_alias_impl.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/blevesearch/bleve/index_alias_impl.go')
-rw-r--r--vendor/github.com/blevesearch/bleve/index_alias_impl.go16
1 files changed, 13 insertions, 3 deletions
diff --git a/vendor/github.com/blevesearch/bleve/index_alias_impl.go b/vendor/github.com/blevesearch/bleve/index_alias_impl.go
index 4366fc7956..5aa57d8ac8 100644
--- a/vendor/github.com/blevesearch/bleve/index_alias_impl.go
+++ b/vendor/github.com/blevesearch/bleve/index_alias_impl.go
@@ -16,7 +16,6 @@ package bleve
import (
"context"
- "sort"
"sync"
"time"
@@ -44,6 +43,16 @@ func NewIndexAlias(indexes ...Index) *indexAliasImpl {
}
}
+// VisitIndexes invokes the visit callback on every
+// indexes included in the index alias.
+func (i *indexAliasImpl) VisitIndexes(visit func(Index)) {
+ i.mutex.RLock()
+ for _, idx := range i.indexes {
+ visit(idx)
+ }
+ i.mutex.RUnlock()
+}
+
func (i *indexAliasImpl) isAliasToSingleIndex() error {
if len(i.indexes) < 1 {
return ErrorAliasEmpty
@@ -511,10 +520,11 @@ func MultiSearch(ctx context.Context, req *SearchRequest, indexes ...Index) (*Se
}
}
+ sortFunc := req.SortFunc()
// sort all hits with the requested order
if len(req.Sort) > 0 {
sorter := newSearchHitSorter(req.Sort, sr.Hits)
- sort.Sort(sorter)
+ sortFunc(sorter)
}
// now skip over the correct From
@@ -539,7 +549,7 @@ func MultiSearch(ctx context.Context, req *SearchRequest, indexes ...Index) (*Se
req.Sort.Reverse()
// resort using the original order
mhs := newSearchHitSorter(req.Sort, sr.Hits)
- sort.Sort(mhs)
+ sortFunc(mhs)
// reset request
req.SearchBefore = req.SearchAfter
req.SearchAfter = nil