e188fe35f7
instead of separate DocumentMatch/DocumentMatchInternal rules are simple, everything operates on the IndexInternalID field until the results are returned, then ID is set correctly the IndexInternalID field is not exported to JSON
34 lines
726 B
Go
34 lines
726 B
Go
package collectors
|
|
|
|
import (
|
|
"math/rand"
|
|
"strconv"
|
|
"testing"
|
|
|
|
"github.com/blevesearch/bleve/index"
|
|
"github.com/blevesearch/bleve/search"
|
|
"golang.org/x/net/context"
|
|
)
|
|
|
|
func benchHelper(numOfMatches int, collector search.Collector, b *testing.B) {
|
|
matches := make([]*search.DocumentMatch, 0, numOfMatches)
|
|
for i := 0; i < numOfMatches; i++ {
|
|
matches = append(matches, &search.DocumentMatch{
|
|
IndexInternalID: index.IndexInternalID(strconv.Itoa(i)),
|
|
Score: rand.Float64(),
|
|
})
|
|
}
|
|
|
|
b.ResetTimer()
|
|
|
|
for run := 0; run < b.N; run++ {
|
|
searcher := &stubSearcher{
|
|
matches: matches,
|
|
}
|
|
err := collector.Collect(context.Background(), searcher, &stubReader{})
|
|
if err != nil {
|
|
b.Fatal(err)
|
|
}
|
|
}
|
|
}
|