some improvements

This commit is contained in:
ston1th 2019-08-26 19:58:31 +02:00
commit 58a0dc36d5
25 changed files with 233 additions and 105 deletions

View file

@ -19,7 +19,7 @@ const (
pathPrefix = "path/"
)
func (db *DB) Reindex(path string, tags core.RTags) (err error) {
func (db *DB) Retag(path string, tags core.RTags) (err error) {
if tags == nil {
tags, err = db.GetAllRTags()
if err != nil {
@ -30,20 +30,20 @@ func (db *DB) Reindex(path string, tags core.RTags) (err error) {
if err != nil {
return
}
log.Debugf("db: reindexing: %s", path)
log.Debugf("db: retagging: %s", path)
doc, err := db.Index.Get(id)
if err != nil {
return
}
doc.Tags = tags.Match(doc.Text)
err = db.Index.Reindex(id, doc)
err = db.Index.Update(id, doc)
if err != nil {
return
}
return db.SetTag(path, doc.Tags)
}
func (db *DB) ReindexAll() (err error) {
func (db *DB) RetagAll() (err error) {
var paths []string
err = db.store.ForEachPrefix(idPrefix, func(k string, _ []byte) error {
paths = append(paths, k)
@ -57,12 +57,12 @@ func (db *DB) ReindexAll() (err error) {
return
}
for _, p := range paths {
e := db.Reindex(p, tags)
e := db.Retag(p, tags)
if e != nil {
if err == nil {
err = errors.New("reindexAll had errors")
err = errors.New("retagAll had errors")
}
log.Printf("db: error reindexing %s: %s", p, e)
log.Printf("db: error retagging %s: %s", p, e)
}
}
return

View file

@ -27,7 +27,7 @@ var migrators = []migrator{
if err != nil {
return
}
return db.ReindexAll()
return db.RetagAll()
},
}

View file

@ -5,6 +5,7 @@ package db
import (
"git.giftfish.de/ston1th/docstore/pkg/core"
"regexp"
"sort"
)
const (
@ -38,6 +39,7 @@ func (db *DB) GetAllTags() (tags core.Tags, err error) {
}
return nil
})
sort.Sort(tags)
return
}