YAML-based help catalog with topic search
Find a file
Snider fc758a832b feat(search): add English stemmer for improved search recall
Implement lightweight Porter-style suffix stripping in stemmer.go covering
plurals (-sses, -ies, -s), verb forms (-ed, -ing, -eed), and derivational
suffixes (-ational, -tional, -fulness, -ness, -ment, -ation, -ously,
-ively, -ably, -ally, -izer, -ingly). Words under 4 chars are unchanged
and results are guaranteed at least 2 chars.

tokenize() now emits both raw and stemmed forms so the index contains both.
Search() distinguishes stem-only matches (scoreStemWord=0.7) from exact
matches (1.0), keeping stemmed results slightly below raw hits.

22 stem unit tests, 5 search integration tests, and BenchmarkStem with
100 words. All existing tests pass with no regressions.

Co-Authored-By: Virgil <virgil@lethean.io>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 08:07:50 +00:00
catalog.go feat: extract go-help from core/go pkg/help 2026-02-19 16:09:34 +00:00
catalog_test.go feat(search): add fuzzy matching, phrase search, and improved scoring 2026-02-20 01:21:35 +00:00
CLAUDE.md feat: extract go-help from core/go pkg/help 2026-02-19 16:09:34 +00:00
FINDINGS.md feat(search): add fuzzy matching, phrase search, and improved scoring 2026-02-20 01:21:35 +00:00
go.mod feat: extract go-help from core/go pkg/help 2026-02-19 16:09:34 +00:00
go.sum feat: extract go-help from core/go pkg/help 2026-02-19 16:09:34 +00:00
parser.go feat: extract go-help from core/go pkg/help 2026-02-19 16:09:34 +00:00
parser_test.go test: complete Phase 0 hardening — 124 tests, 94% coverage, 8 benchmarks 2026-02-20 04:43:48 +00:00
search.go feat(search): add English stemmer for improved search recall 2026-02-20 08:07:50 +00:00
search_bench_test.go test: complete Phase 0 hardening — 124 tests, 94% coverage, 8 benchmarks 2026-02-20 04:43:48 +00:00
search_test.go test: complete Phase 0 hardening — 124 tests, 94% coverage, 8 benchmarks 2026-02-20 04:43:48 +00:00
stemmer.go feat(search): add English stemmer for improved search recall 2026-02-20 08:07:50 +00:00
stemmer_test.go feat(search): add English stemmer for improved search recall 2026-02-20 08:07:50 +00:00
TODO.md feat(search): add English stemmer for improved search recall 2026-02-20 08:07:50 +00:00
topic.go feat: extract go-help from core/go pkg/help 2026-02-19 16:09:34 +00:00