City search (#217)
* wave 1, jobspy only * combine usa/ca to united states * strict city location filter * hide and show based on focus * UI changes * allow clicking cross! * pill animate in * animate out, uggo fix * animate out * framer motion * animate component height * adzuna * hiring cafe implementation * refactor: centralize shared search-city parsing and matching * feat: migrate city setting to searchCities with legacy fallback * docs: update pipeline and extractor city-search wording * fix(orchestrator): normalize tokenized paste behavior * fix(shared): tighten city matching semantics * docs(extractors): document city-location knobs and geocoding note
This commit is contained in:
@@ -29,11 +29,17 @@ Adzuna provides stable API discovery for countries that are not covered by UK-on
|
||||
5. In **Pipeline Run** (Automatic tab), select a compatible country and enable **Adzuna** in Sources.
|
||||
6. Start the run; Adzuna progress appears in the existing crawl progress stream.
|
||||
|
||||
City behavior:
|
||||
|
||||
- If **Search cities** are set in Automatic advanced settings, Adzuna runs once per city.
|
||||
- City runs use strict post-filtering (`job.location` contains requested city) to avoid broad country-level spillover.
|
||||
|
||||
Default controls:
|
||||
|
||||
- `ADZUNA_APP_ID`
|
||||
- `ADZUNA_APP_KEY`
|
||||
- `ADZUNA_MAX_JOBS_PER_TERM` (default `50`)
|
||||
- `ADZUNA_LOCATION_QUERY` (optional city/location text)
|
||||
|
||||
Supported countries in this integration:
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ It also supports term-by-term search and country-aware search state using the sa
|
||||
- `searchTerms` drive per-term Hiring Cafe `searchQuery`.
|
||||
- selected country maps into Hiring Cafe location search state.
|
||||
- run budget path (`jobspyResultsWanted`) is reused as the max jobs-per-term cap.
|
||||
- optional **Search cities** narrow results by city.
|
||||
4. Start the run and watch progress in the pipeline progress card.
|
||||
|
||||
Defaults and constraints:
|
||||
@@ -40,6 +41,8 @@ Defaults and constraints:
|
||||
- `worldwide` and `usa/ca` run in broad mode without a strict country location filter.
|
||||
- Hiring Cafe is enabled by default in source selection.
|
||||
- `HIRING_CAFE_DATE_FETCHED_PAST_N_DAYS` controls recency window when running extractor directly (default `7`).
|
||||
- When a city is provided via `searchCities`, Hiring Cafe uses city radius search (default `1` mile) and strict city post-filtering.
|
||||
- City geocoding is resolved through Nominatim (OpenStreetMap data); if you scale extractor traffic, add attribution and cache repeated city lookups.
|
||||
|
||||
Local run example:
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ If values are edited manually, the UI shows **Custom**.
|
||||
- Adzuna is available only for its supported countries and when App ID/App Key are configured in Settings.
|
||||
- Glassdoor can be enabled only when:
|
||||
- selected country supports Glassdoor
|
||||
- a **Glassdoor city** is set in Advanced settings
|
||||
- at least one **Search city** is set in Advanced settings
|
||||
|
||||
Incompatible sources are disabled with explanatory tooltips.
|
||||
|
||||
@@ -59,7 +59,7 @@ Incompatible sources are disabled with explanatory tooltips.
|
||||
- **Resumes tailored** (`topN`)
|
||||
- **Min suitability score**
|
||||
- **Max jobs discovered** (run budget cap)
|
||||
- **Glassdoor city** (required only for Glassdoor)
|
||||
- **Search cities** (optional multi-city input; required for Glassdoor)
|
||||
|
||||
#### Search terms
|
||||
|
||||
@@ -97,7 +97,7 @@ For accepted input formats, inference behavior, and limits, see [Manual Import E
|
||||
### Glassdoor cannot be enabled
|
||||
|
||||
- Verify selected country supports Glassdoor.
|
||||
- Set a Glassdoor city in Advanced settings.
|
||||
- Set at least one Search city in Advanced settings.
|
||||
|
||||
### Adzuna is not selectable
|
||||
|
||||
|
||||
Reference in New Issue
Block a user