@ycookiey/yfuzzy 0.1.2 → 0.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.
package/dist/query.d.ts CHANGED
@@ -3,6 +3,14 @@ import { type RomajiOption } from './romaji/convert.js';
3
3
  export interface NormalizedQuery {
4
4
  /** 正規化カナ形 */
5
5
  readonly kana: string;
6
+ /** 正規化カナ形が1コードポイントか(tier 1 の1文字レンジ分離用、spec 4.1) */
7
+ readonly singleChar: boolean;
8
+ /**
9
+ * かな変換前のリテラル形(spec 2.2)。英数1コードポイントのクエリが変換で
10
+ * 形を変えた場合(母音 a/i/u/e/o と n)のみ非 null。tier 1 かな空間で並列照合し、
11
+ * ASCII データへの中間一致が変換で不可能になるのを防ぐ
12
+ */
13
+ readonly literal: string | null;
6
14
  /** 訓令式ローマ字(romaji オプションで無効時 null) */
7
15
  readonly kunrei: string | null;
8
16
  /** ヘボン式ローマ字(romaji オプションで無効時 null) */
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAQA,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAK7B,oBAAoB;AACpB,MAAM,WAAW,eAAe;IAC9B,aAAa;IACb,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,sCAAsC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,qCAAqC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,+BAA+B;IAC/B,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;CAC7B;AAED,yBAAyB;AACzB,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,eAAe,CAajF;AAED,wCAAwC;AACxC,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,CAGlE"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAQA,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAK7B,oBAAoB;AACpB,MAAM,WAAW,eAAe;IAC9B,aAAa;IACb,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,sCAAsC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,qCAAqC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,+BAA+B;IAC/B,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;CAC7B;AAED,yBAAyB;AACzB,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,eAAe,CAgBjF;AAOD,wCAAwC;AACxC,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,CAGlE"}
package/dist/query.js CHANGED
@@ -11,11 +11,14 @@ import { generateBigrams } from './bigram.js';
11
11
  import { charMask } from './charmask.js';
12
12
  /** クエリ文字列(1経路分)を正規化する */
13
13
  export function normalizeQuery(raw, romaji) {
14
- const kana = applyTransforms(toKana(applyTransforms(raw, 'preKana')), 'postKana');
14
+ const pre = applyTransforms(raw, 'preKana');
15
+ const kana = applyTransforms(toKana(pre), 'postKana');
15
16
  const kunrei = kunreiEnabled(romaji) ? kanaToRomaji(kana, KUNREI) : null;
16
17
  const hepburn = hepburnEnabled(romaji) ? kanaToRomaji(kana, HEPBURN) : null;
17
18
  return {
18
19
  kana,
20
+ singleChar: isSingleCodePoint(kana),
21
+ literal: /^[a-z0-9]$/.test(pre) && pre !== kana ? pre : null,
19
22
  kunrei,
20
23
  hepburn,
21
24
  kanaMask: charMask(kana),
@@ -24,6 +27,11 @@ export function normalizeQuery(raw, romaji) {
24
27
  bigrams: null,
25
28
  };
26
29
  }
30
+ function isSingleCodePoint(s) {
31
+ if (s.length === 0)
32
+ return false;
33
+ return s.length === String.fromCodePoint(s.codePointAt(0)).length;
34
+ }
27
35
  /** tier 4 実行時に bigram を遅延生成してキャッシュする */
28
36
  export function ensureQueryBigrams(q) {
29
37
  if (q.bigrams === null)
package/dist/query.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,6CAA6C;AAC7C,EAAE;AACF,wDAAwD;AACxD,wDAAwD;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EACL,MAAM,EACN,OAAO,EACP,aAAa,EACb,cAAc,GAEf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAkBzC,yBAAyB;AACzB,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,MAAoB;IAC9D,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAClF,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5E,OAAO;QACL,IAAI;QACJ,MAAM;QACN,OAAO;QACP,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC;QACxB,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,kBAAkB,CAAC,CAAkB;IACnD,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI;QAAE,CAAC,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5D,OAAO,CAAC,CAAC,OAAO,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,6CAA6C;AAC7C,EAAE;AACF,wDAAwD;AACxD,wDAAwD;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EACL,MAAM,EACN,OAAO,EACP,aAAa,EACb,cAAc,GAEf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AA0BzC,yBAAyB;AACzB,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,MAAoB;IAC9D,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5E,OAAO;QACL,IAAI;QACJ,UAAU,EAAE,iBAAiB,CAAC,IAAI,CAAC;QACnC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;QAC5D,MAAM;QACN,OAAO;QACP,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC;QACxB,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAS;IAClC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACjC,OAAO,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,CAAC,MAAM,CAAC;AACrE,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,kBAAkB,CAAC,CAAkB;IACnD,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI;QAAE,CAAC,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5D,OAAO,CAAC,CAAC,OAAO,CAAC;AACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tier1-exact.d.ts","sourceRoot":"","sources":["../../src/tiers/tier1-exact.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAS,MAAM,YAAY,CAAC;AA4CjD,eAAO,MAAM,UAAU,EAAE,OAyBxB,CAAC"}
1
+ {"version":3,"file":"tier1-exact.d.ts","sourceRoot":"","sources":["../../src/tiers/tier1-exact.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAS,MAAM,YAAY,CAAC;AA8DjD,eAAO,MAAM,UAAU,EAAE,OA+BxB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  // tier 1: 完全マッチ層(spec 4.1)。クエリ文字列がデータに連続して現れる。
2
- // サブマッチ4種を固定優先順で評価し、intraScore 最大を採用(同点は先順位=表の記載順)。
3
- // 優先順(spec 5章タイブレーク): かな前方 > かな部分 > romaji前方(訓令>ヘボン) > romaji部分(訓令>ヘボン)。
2
+ // サブマッチを固定優先順で評価し、intraScore 最大を採用(同点は先順位=表の記載順)。
3
+ // 優先順(spec 5章タイブレーク): かな前方 > かな部分 > リテラル前方 > リテラル部分 >
4
+ // romaji前方(訓令>ヘボン) > romaji部分(訓令>ヘボン)。
4
5
  const KANA_PREFIX = 1.0;
5
6
  const KANA_SUBSTRING = 0.9;
6
7
  const ROMAJI_PREFIX = 0.97;
@@ -12,20 +13,31 @@ function range(len, offset) {
12
13
  p.push(offset + i);
13
14
  return p;
14
15
  }
15
- function prefix(query, data, space, factor) {
16
+ // 1文字クエリ(正規化後1コードポイント)のレンジ分離(spec 4.1):
17
+ // 前方一致系 = 0.5 + raw/2 ∈ (0.5, 1]、部分一致系 = raw/2 ∈ (0, 0.5]。
18
+ // coverage 差で短いデータの部分一致が長いデータの前方一致を逆転しないことを保証する。
19
+ // 完全一致(coverage 1.0 の前方)は 1.0 のまま。
20
+ function mapScore(raw, isPrefix, single) {
21
+ if (!single)
22
+ return raw;
23
+ return isPrefix ? 0.5 + raw / 2 : raw / 2;
24
+ }
25
+ function prefix(query, data, space, factor, single) {
16
26
  if (query.length === 0 || data.length === 0)
17
27
  return null;
18
28
  if (!data.startsWith(query))
19
29
  return null;
20
- return { intraScore: (query.length / data.length) * factor, space, offset: 0, len: query.length };
30
+ const raw = (query.length / data.length) * factor;
31
+ return { intraScore: mapScore(raw, true, single), space, offset: 0, len: query.length };
21
32
  }
22
- function substring(query, data, space, factor, minLen) {
33
+ function substring(query, data, space, factor, minLen, single) {
23
34
  if (query.length < minLen || data.length === 0)
24
35
  return null;
25
36
  const idx = data.indexOf(query);
26
37
  if (idx <= 0)
27
38
  return null; // 0 = 前方一致(別サブマッチが担当)、<0 = 非一致
28
- return { intraScore: (query.length / data.length) * factor, space, offset: idx, len: query.length };
39
+ const raw = (query.length / data.length) * factor;
40
+ return { intraScore: mapScore(raw, false, single), space, offset: idx, len: query.length };
29
41
  }
30
42
  export const tier1Exact = (q, e) => {
31
43
  let best = null;
@@ -37,20 +49,26 @@ export const tier1Exact = (q, e) => {
37
49
  const kana = e.kana.text;
38
50
  const kunrei = e.kunrei?.text ?? '';
39
51
  const hepburn = e.hepburn?.text ?? '';
52
+ const single = q.singleChar;
40
53
  // 1. かな前方一致
41
- consider(prefix(q.kana, kana, 'kana', KANA_PREFIX));
54
+ consider(prefix(q.kana, kana, 'kana', KANA_PREFIX, single));
42
55
  // 2. かな部分一致(かなは1文字でも可)
43
- consider(substring(q.kana, kana, 'kana', KANA_SUBSTRING, 1));
44
- // 3. romaji 前方一致(訓令 → ヘボン。前方は最小長条件なし)
56
+ consider(substring(q.kana, kana, 'kana', KANA_SUBSTRING, 1, single));
57
+ // 3. リテラル前方/部分一致(かな変換で形が変わった英数1文字クエリのみ。かな空間)
58
+ if (q.literal !== null) {
59
+ consider(prefix(q.literal, kana, 'kana', KANA_PREFIX, single));
60
+ consider(substring(q.literal, kana, 'kana', KANA_SUBSTRING, 1, single));
61
+ }
62
+ // 4. romaji 前方一致(訓令 → ヘボン。前方は最小長条件なし)
45
63
  if (q.kunrei !== null)
46
- consider(prefix(q.kunrei, kunrei, 'kunrei', ROMAJI_PREFIX));
64
+ consider(prefix(q.kunrei, kunrei, 'kunrei', ROMAJI_PREFIX, single));
47
65
  if (q.hepburn !== null)
48
- consider(prefix(q.hepburn, hepburn, 'hepburn', ROMAJI_PREFIX * HEPBURN_PENALTY));
49
- // 4. romaji 部分一致(訓令 → ヘボン。クエリ romaji 2文字以上)
66
+ consider(prefix(q.hepburn, hepburn, 'hepburn', ROMAJI_PREFIX * HEPBURN_PENALTY, single));
67
+ // 5. romaji 部分一致(訓令 → ヘボン。クエリ romaji 2文字以上)
50
68
  if (q.kunrei !== null)
51
- consider(substring(q.kunrei, kunrei, 'kunrei', ROMAJI_SUBSTRING, 2));
69
+ consider(substring(q.kunrei, kunrei, 'kunrei', ROMAJI_SUBSTRING, 2, single));
52
70
  if (q.hepburn !== null)
53
- consider(substring(q.hepburn, hepburn, 'hepburn', ROMAJI_SUBSTRING * HEPBURN_PENALTY, 2));
71
+ consider(substring(q.hepburn, hepburn, 'hepburn', ROMAJI_SUBSTRING * HEPBURN_PENALTY, 2, single));
54
72
  if (best === null)
55
73
  return null;
56
74
  const c = best;
@@ -1 +1 @@
1
- {"version":3,"file":"tier1-exact.js","sourceRoot":"","sources":["../../src/tiers/tier1-exact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tier1-exact.js","sourceRoot":"","sources":["../../src/tiers/tier1-exact.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,16 @@
1
1
  {
2
2
  "name": "@ycookiey/yfuzzy",
3
- "version": "0.1.2",
3
+ "version": "0.2.0",
4
4
  "description": "Japanese-aware fuzzy search library",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
9
9
  "author": "ycookiey",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git+https://github.com/ycookiey/yfuzzy.git"
13
+ },
10
14
  "keywords": [
11
15
  "fuzzy",
12
16
  "fuzzy-search",