Fix job search: location filtering, keyword quality, anchor filter bypass #42
Reference in New Issue
Block a user
Delete Branch "feature/job-search-location-keywords"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #41
Summary
Fix 1 – RequireKeywordInAnchor flag: ejobs.ro and bestjobs.eu returned 0 results because Stage 2 anchor-text filter rejected all Romanian job titles (they don't contain abstract LLM keywords). Added per-provider flag (default rue); set to alse for ejobs.ro and bestjobs.eu since their search URL already filters server-side.
Fix 2 – Better keyword extraction: Updated AI system prompts (en + ro) to extract 2-4 concise, job-board-friendly terms — candidate's role title + key technologies (e.g. "Senior .NET Developer", "C#") — instead of abstract concepts like "leadership" or "microservices".
Fix 3 – Location filtering: LLM now extracts candidate's city/country from CV. Location propagates through JobMatchResponse → token → session. HtmlJobSearcher substitutes {location} and {location-slug} in provider URL templates. Provider templates updated:
Migrations
Test plan