From de20ea3a2a38dbcf7fb5f0b436b3356e35851149 Mon Sep 17 00:00:00 2001 From: ston1th Date: Tue, 16 Oct 2018 21:44:01 +0200 Subject: [PATCH] fixed searching --- pkg/index/index.go | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/pkg/index/index.go b/pkg/index/index.go index 6908ed7..677d344 100644 --- a/pkg/index/index.go +++ b/pkg/index/index.go @@ -51,9 +51,9 @@ func (i *Index) Close() error { } func (i *Index) Add(title, storeTitle, search string) error { - doc, _ := i.i.Document(title) + doc, _ := i.i.Document(storeTitle) if doc != nil { - err := i.Delete(title) + err := i.Delete(storeTitle) if err != nil { return err } @@ -77,14 +77,18 @@ func (i *Index) Search(search string) (results []core.Result, err error) { if hit == nil { continue } - r := core.Result{Title: hit.ID} - for fragField, frags := range hit.Fragments { - if fragField == "store_title" { - for _, f := range frags { - r.StoreTitle += f - } + r := core.Result{StoreTitle: hit.ID} + d, err := i.i.Document(hit.ID) + if d == nil || err != nil { + continue + } + for _, v := range d.Fields { + if v.Name() == "title" { + r.Title = string(v.Value()) break } + } + for fragField, frags := range hit.Fragments { if fragField == "title" || fragField == "search" { for _, f := range frags { r.HTML += template.HTML(f)