optimize NewRegexpSearcher to return its disjunction searcher
This minor optimization removes an unnecessary wrapper around the disjunction searcher.
This commit is contained in:
parent
1bd6451581
commit
adc409e823
|
@ -21,15 +21,7 @@ import (
|
||||||
"github.com/blevesearch/bleve/search"
|
"github.com/blevesearch/bleve/search"
|
||||||
)
|
)
|
||||||
|
|
||||||
type RegexpSearcher struct {
|
func NewRegexpSearcher(indexReader index.IndexReader, pattern *regexp.Regexp, field string, boost float64, explain bool) (search.Searcher, error) {
|
||||||
indexReader index.IndexReader
|
|
||||||
pattern *regexp.Regexp
|
|
||||||
field string
|
|
||||||
explain bool
|
|
||||||
searcher *DisjunctionSearcher
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewRegexpSearcher(indexReader index.IndexReader, pattern *regexp.Regexp, field string, boost float64, explain bool) (*RegexpSearcher, error) {
|
|
||||||
|
|
||||||
prefixTerm, complete := pattern.LiteralPrefix()
|
prefixTerm, complete := pattern.LiteralPrefix()
|
||||||
var candidateTerms []string
|
var candidateTerms []string
|
||||||
|
@ -67,13 +59,7 @@ func NewRegexpSearcher(indexReader index.IndexReader, pattern *regexp.Regexp, fi
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return &RegexpSearcher{
|
return searcher, err
|
||||||
indexReader: indexReader,
|
|
||||||
pattern: pattern,
|
|
||||||
field: field,
|
|
||||||
explain: explain,
|
|
||||||
searcher: searcher,
|
|
||||||
}, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func findRegexpCandidateTerms(indexReader index.IndexReader, pattern *regexp.Regexp, field, prefixTerm string) (rv []string, err error) {
|
func findRegexpCandidateTerms(indexReader index.IndexReader, pattern *regexp.Regexp, field, prefixTerm string) (rv []string, err error) {
|
||||||
|
@ -104,36 +90,3 @@ func findRegexpCandidateTerms(indexReader index.IndexReader, pattern *regexp.Reg
|
||||||
|
|
||||||
return rv, err
|
return rv, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *RegexpSearcher) Count() uint64 {
|
|
||||||
return s.searcher.Count()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *RegexpSearcher) Weight() float64 {
|
|
||||||
return s.searcher.Weight()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *RegexpSearcher) SetQueryNorm(qnorm float64) {
|
|
||||||
s.searcher.SetQueryNorm(qnorm)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *RegexpSearcher) Next(ctx *search.SearchContext) (*search.DocumentMatch, error) {
|
|
||||||
return s.searcher.Next(ctx)
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *RegexpSearcher) Advance(ctx *search.SearchContext, ID index.IndexInternalID) (*search.DocumentMatch, error) {
|
|
||||||
return s.searcher.Advance(ctx, ID)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *RegexpSearcher) Close() error {
|
|
||||||
return s.searcher.Close()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *RegexpSearcher) Min() int {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *RegexpSearcher) DocumentMatchPoolSize() int {
|
|
||||||
return s.searcher.DocumentMatchPoolSize()
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user