Job Model
Schema pentru documentele de tip job stocate în Solr.
| Câmp | Tip | Necesar | Descriere și Reguli |
|---|---|---|---|
url |
string | Da | URL complet către pagina job-ului. Unic. Trebuie să fie HTTP/HTTPS valid. |
title |
string | Da | Titlul exact al poziției. Max 200 caractere, fără HTML, spații trunchiate. DIACRITICE ACCEPTATE (ăâîșț). |
company |
string | Nu | Numele companiei angajatoare. Trebuie să coincidă exact cu Company.name (case insensitive, DIACRITICE NECESARE). |
cif |
string | Nu | CIF/CUI al companiei. 8 cifre (fără prefix RO). |
location |
string[] | Nu | Locații/adrese. Orașe românești, DIACRITICE ACCEPTATE (ex: "București", "Cluj-Napoca"). Array. |
tags |
string[] | Nu | Tag-uri pentru skills, seniority, și domeniu. Max 20 intrări, valori standardizate, FĂRĂ DIACRITICE (use "it" not "IT"). |
workmode |
string | Nu | Unul dintre: "remote", "on-site", "hybrid". |
date |
date | Nu | Data scrape/indexare (ISO8601). Ex: "2026-01-18T10:00:00Z" |
status |
string | Nu | Unul dintre: "scraped", "tested", "published", "verified". Progres: scraped → tested → published → verified. |
vdate |
date | Nu | Data verificare (ISO8601). Setat doar când status="verified". |
expirationdate |
date | Nu | Data expirare estimată job. Max vdate + 30 zile, sau extras din pagina job-ului. |
salary |
string | Nu | Interval salarial + valută. Format: "MIN-MAX CURRENCY" (ex: "5000-8000 RON", "4000 EUR"). String, nu array. |
Company Model
Schema pentru documentele de tip companie stocate în Solr.
| Câmp | Tip | Necesar | Descriere |
|---|---|---|---|
id |
string | Da | CIF/CUI al companiei (ex: "12345678"). Exact 8 cifre, fără prefix RO. |
company |
string | Da | Numele exact pentru potrivire job-uri. Numele legal din Registrul Comerțului. DIACRITICE NECESARE. |
status |
string | Nu | Unul dintre: "activ", "suspendat", "inactiv", "radiat". Dacă nu e activ, șterge job-urile. |
location |
string[] | Nu | Locații/adrese. DIACRITICE ACCEPTATE. Array. |
website |
string[] | Nu | Site oficial companie. Trebuie fi HTTP/HTTPS valid, fără slash trailing. Array. |
career |
string[] | Nu | Pagină de carieră oficială. HTTP/HTTPS valid, fără slash trailing. Array. |
Exemplu Job Document
[
{
"url": "https://example.com/careers/software-engineer",
"title": "Software Engineer",
"company": "Example SRL",
"cif": "12345678",
"location": ["Cluj-Napoca", "București"],
"workmode": "hybrid",
"date": "2026-02-17T00:00:00Z",
"status": "scraped",
"expirationdate": "2026-03-17T00:00:00Z",
"salary": "5000-8000 RON",
"tags": ["senior", "it"]
}
]
Notă: Observă că
description NU este inclus - acest câmp nu există în schema Job!
Exemplu Company Document
[
{
"id": "33159615",
"company": "EPAM SYSTEMS INTERNATIONAL SRL",
"status": "activ",
"location": ["București", "Cluj-Napoca", "Iași", "Timișoara"],
"website": ["https://www.epam.com"],
"career": ["https://www.epam.com/careers/locations/romania"]
}
]
Notă: Companiile sunt stocate în core-ul
company, iar job-urile în core-ul job.
Note Importante
⚠️ NU include câmpul "description"!
Câmpul description NU există în schema Job. Nu îl adăuga niciodată în documentele trimise către Solr.
Câmpuri string[] sunt array-uri multi-valorice. În Solr sunt stocate ca arrays (ex:
["București", "Cluj-Napoca"]).
DIACRITICE: Asigură-te că folosești diacritice românești (ăâîșțĂÂÎȚ) acolo unde specificat în schema.
URL Unic: Câmpul
url din Job trebuie să fie unic. Dacă adaugi un job cu același URL, acesta va fi actualizat (upsert).
Tag-uri (tags)
Câmpul tags este un array de string-uri pentru a clasifica job-urile. Tag-urile sunt lowercase și fără diacritice.
Seniority (nivel de experiență)
| Tag | Descriere |
|---|---|
intern |
Intern / Student |
trainee |
Program de trainee |
entry-level |
Entry level / Fără experiență |
graduate |
Program pentru fresh graduates |
junior |
Junior (1-2 ani experiență) |
mid |
Mid-level (default, 2-5 ani) |
senior |
Senior (5+ ani), Lead, Manager |
consultant |
Principal, Director, Chief, VP |
Field/Domeniu
| Tag | Descriere |
|---|---|
it |
IT, Programming, Frontend, Backend |
data-science |
Data, Analytics, Big Data |
ai |
AI, Machine Learning, ML |
cloud |
Cloud, Azure, AWS, GCP |
devops |
DevOps, CI/CD, Kubernetes |
qa |
QA, Testing |
finance |
Finance, Accounting, Banking |
hr |
Human Resources |
sales |
Sales, Pre-sales |
project-management |
Project Management, PM |
operations |
Operations, Supply Chain |
customer-service |
Customer Service, Support |
sap |
SAP, ABAP |
Exemplu tags
"tags": ["senior", "it"]
"tags": ["junior", "data-science"]
"tags": ["mid", "devops", "cloud"]