Skip to content

Narrow fuzzy and regex search candidates#17

Merged
dutifulbob merged 1 commit intomainfrom
fix/search-candidate-prefilter
Apr 15, 2026
Merged

Narrow fuzzy and regex search candidates#17
dutifulbob merged 1 commit intomainfrom
fix/search-candidate-prefilter

Conversation

@dutifulbob
Copy link
Copy Markdown
Member

Summary

  • move regex and fuzzy mention search onto narrowed candidate scans instead of whole-repo scans
  • keep Postgres only on the fast FTS path
  • use normalized text fragments to prefilter candidate documents before Go-side scoring

Testing

  • go test ./internal/searchindex/... ./internal/httpapi/... ./internal/ghr/... ./internal/githubsync/... ./cmd/ghreplica/...
  • go test ./...
  • go vet ./...
  • go build ./cmd/ghreplica && go build ./cmd/ghr
  • npm run docs:check

@dutifulbob dutifulbob merged commit 5acd4f3 into main Apr 15, 2026
1 check passed
@dutifulbob dutifulbob deleted the fix/search-candidate-prefilter branch April 15, 2026 19:14
@dutifulbob
Copy link
Copy Markdown
Member Author

Shipped to production on 5acd4f3986a7b93be787b9a6130516c494781ad2.

Validation:

Live production search validation against openclaw/openclaw:

  • API matrix: 30/30 searches passed across fts, fuzzy, and regex
  • CLI matrix: 15/15 searches passed across fts, fuzzy, and regex
  • empty-result behavior verified for API and CLI

Representative successful queries:

  • fts: heartbeat watchdog, thread binding, retry acp, heartbeat disabled
  • fuzzy: watch dog, authstate, tele gram, matter most, greptil
  • regex: auth.*state, tele.*gram, retry.*acp, heartbeat.*disabled

This PR specifically narrowed fuzzy and regex candidate sets so live search no longer times out on broad repo scans.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant