forked from NYANDEV/forgejo
Improve issue search (#2387)
* Improve issue indexer * Fix new issue sqlite bug * Different test indexer paths for each db * Add integration indexer paths to make clean
This commit is contained in:
parent
52e11b24bf
commit
b0f7457d9e
122 changed files with 15280 additions and 1458 deletions
26
vendor/github.com/blevesearch/bleve/search/query/conjunction.go
generated
vendored
26
vendor/github.com/blevesearch/bleve/search/query/conjunction.go
generated
vendored
|
@ -24,8 +24,9 @@ import (
|
|||
)
|
||||
|
||||
type ConjunctionQuery struct {
|
||||
Conjuncts []Query `json:"conjuncts"`
|
||||
BoostVal *Boost `json:"boost,omitempty"`
|
||||
Conjuncts []Query `json:"conjuncts"`
|
||||
BoostVal *Boost `json:"boost,omitempty"`
|
||||
queryStringMode bool
|
||||
}
|
||||
|
||||
// NewConjunctionQuery creates a new compound Query.
|
||||
|
@ -41,7 +42,7 @@ func (q *ConjunctionQuery) SetBoost(b float64) {
|
|||
q.BoostVal = &boost
|
||||
}
|
||||
|
||||
func (q *ConjunctionQuery) Boost() float64{
|
||||
func (q *ConjunctionQuery) Boost() float64 {
|
||||
return q.BoostVal.Value()
|
||||
}
|
||||
|
||||
|
@ -51,11 +52,10 @@ func (q *ConjunctionQuery) AddQuery(aq ...Query) {
|
|||
}
|
||||
}
|
||||
|
||||
func (q *ConjunctionQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, explain bool) (search.Searcher, error) {
|
||||
ss := make([]search.Searcher, len(q.Conjuncts))
|
||||
for in, conjunct := range q.Conjuncts {
|
||||
var err error
|
||||
ss[in], err = conjunct.Searcher(i, m, explain)
|
||||
func (q *ConjunctionQuery) Searcher(i index.IndexReader, m mapping.IndexMapping, options search.SearcherOptions) (search.Searcher, error) {
|
||||
ss := make([]search.Searcher, 0, len(q.Conjuncts))
|
||||
for _, conjunct := range q.Conjuncts {
|
||||
sr, err := conjunct.Searcher(i, m, options)
|
||||
if err != nil {
|
||||
for _, searcher := range ss {
|
||||
if searcher != nil {
|
||||
|
@ -64,8 +64,16 @@ func (q *ConjunctionQuery) Searcher(i index.IndexReader, m mapping.IndexMapping,
|
|||
}
|
||||
return nil, err
|
||||
}
|
||||
if _, ok := sr.(*searcher.MatchNoneSearcher); ok && q.queryStringMode {
|
||||
// in query string mode, skip match none
|
||||
continue
|
||||
}
|
||||
ss = append(ss, sr)
|
||||
}
|
||||
return searcher.NewConjunctionSearcher(i, ss, explain)
|
||||
if len(ss) < 1 {
|
||||
return searcher.NewMatchNoneSearcher(i)
|
||||
}
|
||||
return searcher.NewConjunctionSearcher(i, ss, options)
|
||||
}
|
||||
|
||||
func (q *ConjunctionQuery) Validate() error {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue