diff --git a/ingestion/internal/search/search.go b/ingestion/internal/search/search.go index 764a323..5cace27 100644 --- a/ingestion/internal/search/search.go +++ b/ingestion/internal/search/search.go @@ -3,6 +3,8 @@ package search import ( "bufio" + "fmt" + "log/slog" "os" "path/filepath" "sort" @@ -32,13 +34,18 @@ func Query(brainDir, query string, limit int) ([]Result, error) { var results []Result err := filepath.WalkDir(filepath.Join(brainDir, "wiki"), func(path string, d os.DirEntry, err error) error { - if err != nil || d.IsDir() || !strings.HasSuffix(path, ".md") { - return err + if err != nil { + slog.Warn("search: skipping path", "path", path, "err", err) + return nil + } + if d.IsDir() || !strings.HasSuffix(path, ".md") { + return nil } content, err := os.ReadFile(path) if err != nil { - return nil // skip unreadable files + slog.Warn("search: skipping unreadable file", "path", path, "err", err) + return nil } lower := strings.ToLower(string(content)) @@ -50,7 +57,10 @@ func Query(brainDir, query string, limit int) ([]Result, error) { return nil } - rel, _ := filepath.Rel(brainDir, path) + rel, err := filepath.Rel(brainDir, path) + if err != nil { + return fmt.Errorf("rel path: %w", err) + } rel = filepath.ToSlash(rel) results = append(results, Result{