Skip to content

Commit 97f0fad

Browse files
committed
fix: penalise Dice search URLs (/jobs/q-) in heuristic validator
1 parent d7e70b6 commit 97f0fad

2 files changed

Lines changed: 16 additions & 0 deletions

File tree

src/validator.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
"q=",
4343
"/jobs?",
4444
"/careers/search",
45+
"/jobs/q-", # Dice search URL slug format (e.g. /jobs/q-engineer-l-Remote-jobs)
4546
)
4647

4748

tests/test_validator.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,21 @@ def test_heuristic_score_penalises_search_result_urls():
100100
assert score_search <= 3 # search result URL causes penalty
101101

102102

103+
def test_heuristic_score_penalises_dice_search_urls():
104+
"""Dice encodes searches as /jobs/q-keyword-l-location-jobs — must be penalised."""
105+
from src.validator import _heuristic_score
106+
text = (
107+
"Acme Corp is hiring a Senior AI Engineer. "
108+
"Responsibilities include building ML pipelines. "
109+
"Qualifications: 5+ years Python. Apply now. " * 20
110+
)
111+
score_posting = _heuristic_score(text, title="Senior AI Engineer", company="Acme Corp",
112+
url="https://www.dice.com/jobs/detail/12345-senior-ai-engineer")
113+
score_search = _heuristic_score(text, title="Senior AI Engineer", company="Acme Corp",
114+
url="https://www.dice.com/jobs/q-senior+ai+engineer-l-Remote-jobs")
115+
assert score_search < score_posting
116+
117+
103118
# ---------------------------------------------------------------------------
104119
# validate_job_links
105120
# ---------------------------------------------------------------------------

0 commit comments

Comments
 (0)