cmd/pkgserver: finish search implementation

This commit is contained in:
mae
2026-04-18 02:07:52 -05:00
parent 5a552993e5
commit fbf1dd4c6c
14 changed files with 411 additions and 206 deletions

View File

@@ -22,9 +22,13 @@ type searchCacheEntry struct {
}
func (index *packageIndex) performSearchQuery(limit int, i int, search string, desc bool) (int, []searchResult, error) {
entry, ok := index.search[search]
if ok {
return len(entry.results), entry.results[i:min(i+limit, len(entry.results))], nil
query := search
if desc {
query += ";withDesc"
}
entry, ok := index.search[query]
if ok && len(entry.results) > 0 {
return len(entry.results), entry.results[min(i, len(entry.results)-1):min(i+limit, len(entry.results))], nil
}
regex, err := regexp.Compile(search)
@@ -59,7 +63,7 @@ func (index *packageIndex) performSearchQuery(limit int, i int, search string, d
results: res,
expiry: expiry,
}
index.search[search] = entry
index.search[query] = entry
return len(res), res[i:min(i+limit, len(entry.results))], nil
}