Fixed pager
This commit is contained in:
@@ -10,11 +10,12 @@ import (
|
||||
|
||||
type Indexer interface {
|
||||
Index(entry *Entry) error
|
||||
Search(q string) (*bleve.SearchResult, error)
|
||||
Search(q string, p int) (*bleve.SearchResult, error)
|
||||
}
|
||||
|
||||
type indexer struct {
|
||||
idx bleve.Index
|
||||
conf *Config
|
||||
idx bleve.Index
|
||||
}
|
||||
|
||||
func NewIndexer(conf *Config) (Indexer, error) {
|
||||
@@ -36,18 +37,20 @@ func NewIndexer(conf *Config) (Indexer, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &indexer{idx: idx}, nil
|
||||
return &indexer{conf: conf, idx: idx}, nil
|
||||
}
|
||||
|
||||
func (i *indexer) Index(entry *Entry) error {
|
||||
return i.idx.Index(entry.Hash(), entry)
|
||||
}
|
||||
|
||||
func (i *indexer) Search(q string) (*bleve.SearchResult, error) {
|
||||
func (i *indexer) Search(q string, p int) (*bleve.SearchResult, error) {
|
||||
query := bleve.NewMatchQuery(q)
|
||||
searchRequest := bleve.NewSearchRequest(query)
|
||||
searchRequest.Fields = []string{"URL", "Title", "Author", "Summary", "Length"}
|
||||
searchRequest.Highlight = bleve.NewHighlight()
|
||||
searchRequest.Size = i.conf.ResultsPerPage
|
||||
searchRequest.From = searchRequest.Size * p
|
||||
searchResults, err := i.idx.Search(searchRequest)
|
||||
if err != nil {
|
||||
log.WithError(err).Error("error searching index")
|
||||
|
||||
Reference in New Issue
Block a user