made conjuction queries compatible with interface
This commit is contained in:
parent
0e26a6233e
commit
367e4f53a7
@ -40,7 +40,7 @@ func (q *BooleanQuery) SetBoost(b float64) *BooleanQuery {
|
|||||||
func (q *BooleanQuery) Searcher(i *indexImpl, explain bool) (search.Searcher, error) {
|
func (q *BooleanQuery) Searcher(i *indexImpl, explain bool) (search.Searcher, error) {
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
var mustSearcher *search.ConjunctionSearcher
|
var mustSearcher search.Searcher
|
||||||
if q.Must != nil {
|
if q.Must != nil {
|
||||||
mustSearcher, err = q.Must.Searcher(i, explain)
|
mustSearcher, err = q.Must.Searcher(i, explain)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -48,7 +48,7 @@ func (q *BooleanQuery) Searcher(i *indexImpl, explain bool) (search.Searcher, er
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var shouldSearcher *search.DisjunctionSearcher
|
var shouldSearcher search.Searcher
|
||||||
if q.Should != nil {
|
if q.Should != nil {
|
||||||
shouldSearcher, err = q.Should.Searcher(i, explain)
|
shouldSearcher, err = q.Should.Searcher(i, explain)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -56,7 +56,7 @@ func (q *BooleanQuery) Searcher(i *indexImpl, explain bool) (search.Searcher, er
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var mustNotSearcher *search.DisjunctionSearcher
|
var mustNotSearcher search.Searcher
|
||||||
if q.MustNot != nil {
|
if q.MustNot != nil {
|
||||||
mustNotSearcher, err = q.MustNot.Searcher(i, explain)
|
mustNotSearcher, err = q.MustNot.Searcher(i, explain)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -64,7 +64,7 @@ func (q *BooleanQuery) Searcher(i *indexImpl, explain bool) (search.Searcher, er
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return search.NewBooleanSearcher(i.i, mustSearcher, shouldSearcher, mustNotSearcher, explain)
|
return search.NewBooleanSearcher(i.i, mustSearcher.(*search.ConjunctionSearcher), shouldSearcher.(*search.DisjunctionSearcher), mustNotSearcher.(*search.DisjunctionSearcher), explain)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (q *BooleanQuery) Validate() error {
|
func (q *BooleanQuery) Validate() error {
|
||||||
|
@ -40,7 +40,7 @@ func (q *ConjunctionQuery) AddQuery(aq Query) *ConjunctionQuery {
|
|||||||
return q
|
return q
|
||||||
}
|
}
|
||||||
|
|
||||||
func (q *ConjunctionQuery) Searcher(i *indexImpl, explain bool) (*search.ConjunctionSearcher, error) {
|
func (q *ConjunctionQuery) Searcher(i *indexImpl, explain bool) (search.Searcher, error) {
|
||||||
searchers := make([]search.Searcher, len(q.Conjuncts))
|
searchers := make([]search.Searcher, len(q.Conjuncts))
|
||||||
for in, conjunct := range q.Conjuncts {
|
for in, conjunct := range q.Conjuncts {
|
||||||
var err error
|
var err error
|
||||||
|
@ -47,7 +47,7 @@ func (q *PhraseQuery) Searcher(i *indexImpl, explain bool) (search.Searcher, err
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return search.NewPhraseSearcher(i.i, conjunctionSearcher, terms)
|
return search.NewPhraseSearcher(i.i, conjunctionSearcher.(*search.ConjunctionSearcher), terms)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (q *PhraseQuery) Validate() error {
|
func (q *PhraseQuery) Validate() error {
|
||||||
|
Loading…
Reference in New Issue
Block a user