📊 Schema Date

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"]