cry-search 2.1.1 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -50,6 +50,38 @@ export declare const kolicinaNormalizator: ValueNormalizer;
50
50
  * nedosledno — zato razred (kazen ob nasprotju), ne trdi žeton.
51
51
  */
52
52
  export declare const vrstaNormalizator: ValueNormalizer;
53
+ /**
54
+ * Razdeljevalci: `&`, `+`, `,`, `;`, `|` med besedami se spremenijo v presledek, `zajec/riž`
55
+ * prav tako, `6/1` (razmerje pakiranja) pa ostane cel.
56
+ *
57
+ * Zakaj: `riž&krompir` je v jedru EN žeton, ki se ne ujame ne z `riž` ne s `krompir`,
58
+ * zato je bil par „Monge dog rabbit rice&potatoes“ brez kandidatov. Isto velja za
59
+ * `N&D CAT GF CHICK&POMEG. KITTEN`, kjer sta `CHICK` in `POMEG` dve besedi.
60
+ *
61
+ * Dodatno: par z `&`, kjer sta OBE strani velikostni besedi ali okrajšavi
62
+ * (`MED&MAXI`, `MINI&MED`), se razširi v polni besedi (`MEDIUM MAXI`) — sicer bi
63
+ * `MED` ostala neznana beseda, čeprav gre za velikost. `MED` sam (brez para) se
64
+ * namenoma NE razširi, ker je v slovenščini tudi „honey“ („z medom“).
65
+ */
66
+ export declare const razdeljevalciNormalizator: ValueNormalizer;
67
+ /**
68
+ * Dvojezični leksikon (SI↔EN): angleške besede se preslikajo v kanonično slovensko
69
+ * obliko, marketinške/vezniške besede se odstranijo.
70
+ *
71
+ * Simetrično: ista preslikava velja za indeks in za poizvedbo, zato se
72
+ * „Monge dog rabbit rice potatoes“ in „MONGE DOG zajec, riž, krompir“ ujameta tudi,
73
+ * kadar je ena stran angleška. Znamk ne prevajamo (v leksikonu jih ni).
74
+ */
75
+ export declare const prevodiNormalizator: ValueNormalizer;
76
+ /**
77
+ * Življenjska stopnja → razred `starost` (mladič/odrasel/senior), beseda se odstrani.
78
+ *
79
+ * Merjeno: `puppy` (145) in `adult` (234) sta v angleških nazivih zelo pogosta, v
80
+ * pantheonovem nazivu pa ju pogosto ni (`ADULT` je tam, kjer klik.vet napiše „puppy“).
81
+ * Kot beseda sta zato nižala pokritost kandidata; kot razred nasprotje kaznuje,
82
+ * odsotnost pa je nevtralna.
83
+ */
84
+ export declare const starostNormalizator: ValueNormalizer;
53
85
  /**
54
86
  * Znamke in linije: `RC` → `ROYAL CANIN`, `SHN` → `ROYAL CANIN SHN`, `N&D` → `NATURAL DELICIOUS`.
55
87
  *
@@ -88,9 +120,15 @@ export declare const tipskeOznakeNormalizator: ValueNormalizer;
88
120
  /**
89
121
  * Vsi vet normalizatorji v pravem vrstnem redu.
90
122
  *
91
- * Vrstni red je pomemben: decimalke → enote → znamke → količine → vrste → oznake
92
- * (znamke pred količinami, ker `RC` ni količina; količine pred vrstami, ker se
93
- * `2 kg` ne sme razumeti kot vrsta).
123
+ * Vrstni red je pomemben: decimalke → enote → znamke → ločila → prevodi → količine
124
+ * → velikost → starost → vrste → oznake.
125
+ *
126
+ * Zakaj tako:
127
+ * - znamke PRED ločili, ker `N&D` vsebuje `&` in bi ga razdelitev pokvarila
128
+ * (`zamkaNormalizator` ga razširi v `NATURAL DELICIOUS`);
129
+ * - prevodi PRED količinami/velikostmi/starostmi, ker angleški zapisi prinašajo
130
+ * enote (`tablets` → `tbl`), velikosti (`medium` → `M`) in stopnje (`puppy`);
131
+ * - količine pred vrstami, ker se `2 kg` ne sme razumeti kot vrsta.
94
132
  */
95
133
  export declare const VET_NORMALIZATORJI: ValueNormalizer[];
96
134
  /** Izvoz za teste in diagnostične skripte. */
@@ -99,6 +137,10 @@ export declare const VET_TABELA: {
99
137
  linije: Map<string, string>;
100
138
  dobavitelji: Set<string>;
101
139
  oznake: Set<string>;
140
+ prevodi: Map<string, string>;
141
+ stopBesede: Set<string>;
142
+ starosti: Record<string, string>;
143
+ velikostiEn: Record<string, string>;
102
144
  vir: string;
103
145
  };
104
146
  //# sourceMappingURL=normalizatorji.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"normalizatorji.d.ts","sourceRoot":"","sources":["../../src/vet/normalizatorji.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAIhD;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,EAAE,eAKnC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,eAmB/B,CAAC;AAsCF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE,eAmDlC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,eA0B/B,CAAC;AAsBF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,eAwBhC,CAAC;AAMF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,eAkBhC,CAAC;AAGF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,eAiBlC,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,0BAA0B,EAAE,eAUxC,CAAC;AAGF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,eAKnC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,eAYtC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,eAAe,EAW/C,CAAC;AAEF,8CAA8C;AAC9C,eAAO,MAAM,UAAU;;;;;;CAMtB,CAAC"}
1
+ {"version":3,"file":"normalizatorji.d.ts","sourceRoot":"","sources":["../../src/vet/normalizatorji.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAKhD;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,EAAE,eAKnC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,eAmB/B,CAAC;AAkDF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE,eAmDlC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,eA0B/B,CAAC;AAYF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,yBAAyB,EAAE,eAuBvC,CAAC;AAMF;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,EAAE,eAgBjC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,EAAE,eAYjC,CAAC;AAoEF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,eA0BhC,CAAC;AAMF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,eAkBhC,CAAC;AAGF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,eAkBlC,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,0BAA0B,EAAE,eAUxC,CAAC;AAGF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,eAKnC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,eAYtC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,EAAE,eAAe,EAc/C,CAAC;AAEF,8CAA8C;AAC9C,eAAO,MAAM,UAAU;;;;;;;;;;CAUtB,CAAC"}
@@ -6,6 +6,8 @@ export interface VetRazredi {
6
6
  vrsta?: string | string[];
7
7
  /** Velikost (S/M/L/XL/XXL + mala/srednja/velika). */
8
8
  velikost?: string | string[];
9
+ /** Življenjska stopnja (mladič / odrasel / senior). */
10
+ starost?: string | string[];
9
11
  /** Pantheonova oznaka v nazivu: `neaktivno` (`**`), `prosto` (`*`). */
10
12
  pantheon?: string | string[];
11
13
  dobavitelj?: string | string[];
@@ -1 +1 @@
1
- {"version":3,"file":"ocena.d.ts","sourceRoot":"","sources":["../../src/vet/ocena.ts"],"names":[],"mappings":"AAsBA,uDAAuD;AACvD,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,QAAQ;IACvB,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,QAAQ,EAAE,OAAO,CAAC;IAClB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qCAAqC;IACrC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,4DAA4D;IAC5D,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oDAAoD;IACpD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAoFD;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,kBAAuB,EACnC,OAAO,CAAC,EACJ;IAAE,SAAS,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAA;CAAE,GACzH,SAAS,GACZ,QAAQ,CA4FV"}
1
+ {"version":3,"file":"ocena.d.ts","sourceRoot":"","sources":["../../src/vet/ocena.ts"],"names":[],"mappings":"AAuBA,uDAAuD;AACvD,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,QAAQ;IACvB,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,QAAQ,EAAE,OAAO,CAAC;IAClB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qCAAqC;IACrC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,4DAA4D;IAC5D,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oDAAoD;IACpD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA2ID;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,kBAAuB,EACnC,OAAO,CAAC,EACJ;IAAE,SAAS,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAA;CAAE,GACzH,SAAS,GACZ,QAAQ,CA+JV"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cry-search",
3
- "version": "2.1.1",
3
+ "version": "2.2.0",
4
4
  "description": "A fast, memory-efficient search library for large datasets with support for tokenized matching, linked collections, and per-field match modes.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -46,7 +46,8 @@
46
46
  "typecheck": "tsc --noEmit",
47
47
  "gen:vet-data": "bun run scripts/gen-vet-data.ts",
48
48
  "prepublishOnly": "bun run clean && bun run build",
49
- "pripravi:pari": "bun run scripts/pripravi-pari.ts"
49
+ "pripravi:pari": "bun run scripts/pripravi-pari.ts",
50
+ "bench": "bun run scripts/bench-vet.ts"
50
51
  },
51
52
  "keywords": [
52
53
  "search",