Merge the feature branch to introduce the bleve indexing.
commite8c2bc7e4aAuthor: Justin Hawkins <justin@hawkins.id.au> Date: Sat May 3 12:36:18 2025 +0930 Clean up menu/version commit1993533a46Author: Justin Hawkins <justin@hawkins.id.au> Date: Sat May 3 12:31:50 2025 +0930 Update README commit044cc830dcAuthor: Justin Hawkins <justin@hawkins.id.au> Date: Sat May 3 12:22:33 2025 +0930 No longer needed commita7c37ad7c5Author: Justin Hawkins <justin@hawkins.id.au> Date: Sat May 3 12:14:59 2025 +0930 Fixup version handling commitade0b748e9Author: Justin Hawkins <justin@hawkins.id.au> Date: Sat May 3 11:58:15 2025 +0930 Use the correct analyser for searches commite5a65cf5cfAuthor: Justin Hawkins <justin@hawkins.id.au> Date: Fri May 2 19:51:54 2025 +0930 Fix version in template commit0171be0ee4Author: Justin Hawkins <justin@hawkins.id.au> Date: Fri May 2 19:51:41 2025 +0930 Rescrape all links if needed on startup commitae654998f7Author: Justin Hawkins <justin@hawkins.id.au> Date: Fri May 2 19:51:25 2025 +0930 Spelling commitbfe9bbee02Author: Justin Hawkins <justin@hawkins.id.au> Date: Fri May 2 19:34:06 2025 +0930 Make goreleaser set the version commit4436313413Author: Justin Hawkins <justin@hawkins.id.au> Date: Fri May 2 11:43:58 2025 +0930 Make release matrix sane commit7b467ecee7Author: Justin Hawkins <justin@hawkins.id.au> Date: Fri May 2 11:40:07 2025 +0930 I hate YAML, so much. commitb578e0f044Author: Justin Hawkins <justin@hawkins.id.au> Date: Thu May 1 23:47:07 2025 +0930 Update goreleaser commitfba84f0827Author: Justin Hawkins <justin@hawkins.id.au> Date: Thu May 1 23:45:46 2025 +0930 Update version commite4edb08bd1Author: Justin Hawkins <justin@hawkins.id.au> Date: Thu May 1 23:42:59 2025 +0930 Deps commit58b6692d1bAuthor: Justin Hawkins <justin@hawkins.id.au> Date: Thu May 1 23:39:51 2025 +0930 Mostly done, first cut commitbadbe5e92fAuthor: Justin Hawkins <justin@hawkins.id.au> Date: Sun Apr 27 20:28:37 2025 +0930 Remove unused code commit903240dd18Author: Justin Hawkins <justin@hawkins.id.au> Date: Sun Apr 27 20:26:19 2025 +0930 Update deps commitde90b9951aAuthor: Justin Hawkins <justin@hawkins.id.au> Date: Sun Apr 27 20:21:33 2025 +0930 Keep on bleving commit9b15528510Author: Justin Hawkins <justin@hawkins.id.au> Date: Fri Apr 25 23:57:04 2025 +0930 Start of blevification
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
package entity
|
||||
|
||||
import "time"
|
||||
import (
|
||||
"html/template"
|
||||
"time"
|
||||
)
|
||||
|
||||
type Bookmark struct {
|
||||
ID uint64 `boltholdKey:"ID"`
|
||||
@@ -12,6 +15,10 @@ type Bookmark struct {
|
||||
TimestampLastScraped time.Time
|
||||
}
|
||||
|
||||
func (bm Bookmark) Type() string {
|
||||
return "bookmark"
|
||||
}
|
||||
|
||||
type PageInfo struct {
|
||||
Fetched time.Time
|
||||
Title string
|
||||
@@ -19,3 +26,13 @@ type PageInfo struct {
|
||||
StatusCode int
|
||||
RawText string
|
||||
}
|
||||
|
||||
func (pi PageInfo) Type() string {
|
||||
return "info"
|
||||
}
|
||||
|
||||
type BookmarkSearchResult struct {
|
||||
Bookmark Bookmark
|
||||
Score float64
|
||||
Highlight template.HTML
|
||||
}
|
||||
|
||||
@@ -1,39 +1 @@
|
||||
package entity
|
||||
|
||||
type WordIndex struct {
|
||||
Word string `bolthold:"index"`
|
||||
// Bitmap roaring.Bitmap
|
||||
Bitmap map[uint64]bool
|
||||
}
|
||||
|
||||
// func (wi WordIndex) GobEncode() ([]byte, error) {
|
||||
|
||||
// bmBuf := new(bytes.Buffer)
|
||||
// wi.Bitmap.WriteTo(bmBuf) // we omit error handling
|
||||
|
||||
// wordBytes := []byte(wi.Word)
|
||||
// serialised := make([]byte, 4, 4)
|
||||
// binary.BigEndian.PutUint32(serialised, uint32(len(wordBytes)))
|
||||
|
||||
// serialised = append(serialised, wordBytes...)
|
||||
// serialised = append(serialised, bmBuf.Bytes()...)
|
||||
// // log.Printf("serialised: %v", serialised)
|
||||
|
||||
// // log.Printf("serialised to %d bytes for word %w\n%#v", len(serialised), wi.Word, serialised)
|
||||
|
||||
// return serialised, nil
|
||||
// }
|
||||
|
||||
// func (wi *WordIndex) GobDecode(b []byte) error {
|
||||
// size := binary.BigEndian.Uint32(b[0:4])
|
||||
// wi.Word = string(b[4 : size+4])
|
||||
// // log.Printf("word is %s size was %d\n%v", wi.Word, size, b)
|
||||
|
||||
// bmBuf := bytes.NewReader(b[size+4:])
|
||||
|
||||
// wi.Bitmap = *roaring.New()
|
||||
// _, err := wi.Bitmap.ReadFrom(bmBuf)
|
||||
// // log.Printf("N: %d, err: %s", n, err)
|
||||
|
||||
// return err
|
||||
// }
|
||||
|
||||
@@ -7,14 +7,14 @@ import (
|
||||
)
|
||||
|
||||
type DBStats struct {
|
||||
History map[time.Time]BookmarkInfo
|
||||
FileSize int
|
||||
Searches int
|
||||
History map[time.Time]BookmarkInfo
|
||||
FileSize int
|
||||
IndexSize int
|
||||
Searches int
|
||||
}
|
||||
|
||||
type BookmarkInfo struct {
|
||||
Bookmarks int
|
||||
IndexedWords int
|
||||
Bookmarks int
|
||||
}
|
||||
|
||||
func (stats DBStats) String() string {
|
||||
@@ -29,7 +29,7 @@ func (stats DBStats) String() string {
|
||||
sort.Slice(dates, func(i, j int) bool { return dates[i].Before(dates[j]) })
|
||||
|
||||
for _, k := range dates {
|
||||
out += fmt.Sprintf("%s - %d bookmarks, %d words indexed\n", k, stats.History[k].Bookmarks, stats.History[k].IndexedWords)
|
||||
out += fmt.Sprintf("%s - %d bookmarks\n", k, stats.History[k].Bookmarks)
|
||||
}
|
||||
return out
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user