feat(canonical-lexicon): Faz 3 emex yüksek-frekans terimleri
Some checks failed
QA Gate (P0/P1) / Test affected app (pull_request) Has been cancelled
Some checks failed
QA Gate (P0/P1) / Test affected app (pull_request) Has been cancelled
emex'in en sık eşleşmeyen adları (100-250x, tüm araçlarda paylaşılan): stabilizer/absorber→suspansiyon; esanjor/kondansator/ventilator/kompresor/ sogutucu/uflec→sogutma; hali/halilar→ic-doseme; kilit/yagmurluk→dis-kaporta; stepne→jant-lastik. Jenerik (BOYALAR/İZOLATÖRLER/Montaj) bırakıldı. 25/25. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -175,6 +175,19 @@ describe("mapToCanonical", () => {
|
||||
expect(mapToCanonical("yapistiricilar / onarim kitleri").slug).toBe("yaglar-sivilar");
|
||||
});
|
||||
|
||||
it("maps emex high-frequency terms", () => {
|
||||
expect(mapToCanonical("stabilizer / baglanti elemanlari").slug).toBe("suspansiyon");
|
||||
expect(mapToCanonical("sok absorber").slug).toBe("suspansiyon");
|
||||
expect(mapToCanonical("isi esanjoru, ic isitma").slug).toBe("sogutma");
|
||||
expect(mapToCanonical("kondansator").slug).toBe("sogutma");
|
||||
expect(mapToCanonical("ventilator").slug).toBe("sogutma");
|
||||
expect(mapToCanonical("uflec / parcalari").slug).toBe("sogutma");
|
||||
expect(mapToCanonical("yer halilari ve halilar").slug).toBe("ic-doseme");
|
||||
expect(mapToCanonical("dis kilitler").slug).toBe("dis-kaporta");
|
||||
expect(mapToCanonical("stepne donanimlari").slug).toBe("jant-lastik");
|
||||
expect(mapToCanonical("yagmurluklar").slug).toBe("dis-kaporta");
|
||||
});
|
||||
|
||||
it("returns null when no keyword matches", () => {
|
||||
expect(mapToCanonical("romork duzenegi cikarilabilir").slug).toBeNull();
|
||||
// genuinely generic Mercedes names stay unmapped (better than wrong bucket)
|
||||
|
||||
@@ -84,13 +84,15 @@ export const LEXICON: Record<string, Bucket> = {
|
||||
weak: "zincir gergi kayis rulman".split(" "),
|
||||
},
|
||||
sogutma: {
|
||||
// emex adds: esanjor (ısı eşanjörü), kondansator, ventilator, kompresor
|
||||
// (AC), sogutucu; "uflec" (blower) weak.
|
||||
strong:
|
||||
"radyator termostat klima kalorifer intercooler evaporator devirdaim fan cooling heater ventilation".split(
|
||||
"radyator termostat klima kalorifer intercooler evaporator devirdaim fan cooling heater ventilation ventilator esanjor kondansator kompresor sogutucu".split(
|
||||
" ",
|
||||
),
|
||||
// "hava" weak so "Hava Sistemi" → soğutma (user decision) but "hava filtresi"
|
||||
// (filtre strong) / "hava yastığı" (yastigi strong, direksiyon) still win.
|
||||
weak: "sogutma isitici hortum hava heating radiator".split(" "),
|
||||
weak: "sogutma isitici hortum hava heating radiator uflec".split(" "),
|
||||
},
|
||||
filtreler: {
|
||||
strong: "filtre filter".split(" "),
|
||||
@@ -115,9 +117,10 @@ export const LEXICON: Record<string, Bucket> = {
|
||||
weak: "flans kavrama saft mil mili miller gear disli propeller tahrik speed spd".split(" "),
|
||||
},
|
||||
suspansiyon: {
|
||||
// "suspensiyon" Opel variant; "dingil" = axle; "stabilizator" = anti-roll bar.
|
||||
// "suspensiyon" Opel variant; "dingil"=axle; "stabilizator/stabilizer"=anti-
|
||||
// roll bar; "absorber"=(şok) absorber (emex).
|
||||
strong:
|
||||
"suspansiyon suspensiyon amortisor salincak rotil helezon viraj mafsal suspension stabilizator".split(
|
||||
"suspansiyon suspensiyon amortisor salincak rotil helezon viraj mafsal suspension stabilizator stabilizer absorber".split(
|
||||
" ",
|
||||
),
|
||||
// "takoz/takozu" = strut/engine mount (motor takozu still wins via "motor").
|
||||
@@ -147,7 +150,7 @@ export const LEXICON: Record<string, Bucket> = {
|
||||
},
|
||||
"dis-kaporta": {
|
||||
strong: "ayna".split(" "),
|
||||
weak: "cam camlar camlari fitil krikosu kapi kapak kapaklar mentese cikma bagaj camlik mirror glass door window sunroof exterior locking".split(
|
||||
weak: "cam camlar camlari fitil krikosu kapi kapak kapaklar mentese cikma bagaj camlik mirror glass door window sunroof exterior locking kilit yagmurluk".split(
|
||||
" ",
|
||||
),
|
||||
},
|
||||
@@ -165,10 +168,10 @@ export const LEXICON: Record<string, Bucket> = {
|
||||
// "koltugu" = seat with possessive suffix (koltuk→koltuğu, k→ğ mutation
|
||||
// breaks the prefix match, so list it explicitly).
|
||||
strong:
|
||||
"koltuk koltugu doseme sirtlik arkalik guneslik minder torpido konsol konfor seat seats trim restraint occupant".split(
|
||||
"koltuk koltugu doseme sirtlik arkalik guneslik minder torpido konsol konfor hali seat seats trim restraint occupant".split(
|
||||
" ",
|
||||
),
|
||||
weak: "kaplama zemin baslik kemer emniyet panel bardaklik dayama dolgu floor covering interior ortu".split(
|
||||
weak: "kaplama zemin baslik kemer emniyet panel bardaklik dayama dolgu floor covering interior ortu halilar".split(
|
||||
" ",
|
||||
),
|
||||
},
|
||||
@@ -180,7 +183,7 @@ export const LEXICON: Record<string, Bucket> = {
|
||||
),
|
||||
},
|
||||
"jant-lastik": {
|
||||
strong: "jant lastik tekerlek gobek wheel tyre tire".split(" "),
|
||||
strong: "jant lastik tekerlek gobek stepne wheel tyre tire".split(" "),
|
||||
weak: "hub".split(" "),
|
||||
},
|
||||
aksesuar: {
|
||||
|
||||
Reference in New Issue
Block a user