back interdiff of round #8 and #7

appview: add basic issue indexer (wip) #494

merged
opened by boltless.me targeting master from boltless.me/core: feat/search
  • Heavily inspired by gitea
  • add GetAllIssues which only receives a paginator and gathers all issues ignoring repoAt field

Signed-off-by: Seongmin Lee boltlessengineer@proton.me

files
appview
indexer
issues
models
pages
pagination
state
ERROR
.gitignore

Failed to calculate interdiff for this file.

ERROR
appview/indexer/base36/base36.go

Failed to calculate interdiff for this file.

ERROR
appview/indexer/bleve/batch.go

Failed to calculate interdiff for this file.

ERROR
appview/indexer/indexer.go

Failed to calculate interdiff for this file.

ERROR
appview/indexer/issues/indexer.go

Failed to calculate interdiff for this file.

ERROR
appview/indexer/notifier.go

Failed to calculate interdiff for this file.

ERROR
appview/issues/issues.go

Failed to calculate interdiff for this file.

ERROR
appview/models/search.go

Failed to calculate interdiff for this file.

ERROR
appview/pages/pages.go

Failed to calculate interdiff for this file.

ERROR
appview/pagination/page.go

Failed to calculate interdiff for this file.

ERROR
appview/state/router.go

Failed to calculate interdiff for this file.

ERROR
appview/state/state.go

Failed to calculate interdiff for this file.

NEW
appview/indexer/bleve/query.go
···
+
package bleveutil
+
+
import (
+
"github.com/blevesearch/bleve/v2"
+
"github.com/blevesearch/bleve/v2/search/query"
+
)
+
+
func MatchAndQuery(field, keyword string) query.Query {
+
q := bleve.NewMatchQuery(keyword)
+
q.FieldVal = field
+
return q
+
}
+
+
func BoolFieldQuery(field string, val bool) query.Query {
+
q := bleve.NewBoolFieldQuery(val)
+
q.FieldVal = field
+
return q
+
}
+
+
func KeywordFieldQuery(field, keyword string) query.Query {
+
q := bleve.NewTermQuery(keyword)
+
q.FieldVal = field
+
return q
+
}