eeeeeee
This commit is contained in:
parent
30c921e57b
commit
5b0a4704b4
2 changed files with 13 additions and 0 deletions
|
@ -60,6 +60,10 @@ func (e *endpoints) search(ctx *fiber.Ctx) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(results) > 50 {
|
||||||
|
results = results[:50]
|
||||||
|
}
|
||||||
|
|
||||||
var resultNodes []g.Node
|
var resultNodes []g.Node
|
||||||
|
|
||||||
conf := config.Get()
|
conf := config.Get()
|
||||||
|
@ -82,6 +86,10 @@ func (e *endpoints) search(ctx *fiber.Ctx) error {
|
||||||
for _, tok := range res.Tokens {
|
for _, tok := range res.Tokens {
|
||||||
if tok.Start >= startPos && tok.End <= endPos {
|
if tok.Start >= startPos && tok.End <= endPos {
|
||||||
for i, ch := range plaintext[tok.Start : tok.End+1] {
|
for i, ch := range plaintext[tok.Start : tok.End+1] {
|
||||||
|
pos := (tok.Start - startPos) + i
|
||||||
|
if pos >= len(x) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
x[(tok.Start-startPos)+i] = html.B(g.Text(string(ch)))
|
x[(tok.Start-startPos)+i] = html.B(g.Text(string(ch)))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,8 @@ package search
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"database/sql"
|
||||||
|
"errors"
|
||||||
"git.tdpain.net/codemicro/hn84/ui/internal/database"
|
"git.tdpain.net/codemicro/hn84/ui/internal/database"
|
||||||
"git.tdpain.net/codemicro/hn84/util"
|
"git.tdpain.net/codemicro/hn84/util"
|
||||||
"github.com/uptrace/bun"
|
"github.com/uptrace/bun"
|
||||||
|
@ -80,6 +82,9 @@ func DoSearch(db *bun.DB, query []string) ([]*Match, error) {
|
||||||
for docID, tokens := range tokensByDocument {
|
for docID, tokens := range tokensByDocument {
|
||||||
doc := new(database.Document)
|
doc := new(database.Document)
|
||||||
if err := db.NewSelect().Model(doc).Where("id = ?", docID).Scan(context.Background(), doc); err != nil {
|
if err := db.NewSelect().Model(doc).Where("id = ?", docID).Scan(context.Background(), doc); err != nil {
|
||||||
|
if errors.Is(err, sql.ErrNoRows) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
return nil, util.Wrap("final assembly", err)
|
return nil, util.Wrap("final assembly", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Reference in a new issue