ugly-app 0.1.632 → 0.1.634
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/cli/version.d.ts +1 -1
- package/dist/cli/version.js +1 -1
- package/dist/server/DB.d.ts.map +1 -1
- package/dist/server/DB.js +19 -0
- package/dist/server/DB.js.map +1 -1
- package/dist/server/PostgresDoc.d.ts +0 -6
- package/dist/server/PostgresDoc.d.ts.map +1 -1
- package/dist/server/PostgresDoc.js +78 -12
- package/dist/server/PostgresDoc.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/version.ts +1 -1
- package/src/server/DB.ts +33 -0
- package/src/server/PostgresDoc.ts +98 -13
package/dist/cli/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const CLI_VERSION = "0.1.
|
|
1
|
+
export declare const CLI_VERSION = "0.1.634";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/cli/version.js
CHANGED
package/dist/server/DB.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DB.d.ts","sourceRoot":"","sources":["../../src/server/DB.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,qBAAqB,EAErB,QAAQ,EACR,cAAc,EACd,SAAS,EACT,WAAW,EAEX,aAAa,EACb,WAAW,EACX,OAAO,EAGR,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EAKL,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACtB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"DB.d.ts","sourceRoot":"","sources":["../../src/server/DB.ts"],"names":[],"mappings":"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"}
|
package/dist/server/DB.js
CHANGED
|
@@ -61,6 +61,19 @@ async function syncDocVector(name, meta, doc) {
|
|
|
61
61
|
console.error(`[DB] vector materialize failed for ${name}`, err);
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Materialize the vector column after a partial-field update, but only when the
|
|
66
|
+
* update actually touched the doc's `vector.from` field — so the common
|
|
67
|
+
* `setDocFields`/`setDocOp` paths (e.g. `setDocFields(recipe, id, { embedding })`)
|
|
68
|
+
* populate the `embedding` column, not just the full-doc `setDoc` path.
|
|
69
|
+
*/
|
|
70
|
+
async function syncVectorIfFieldChanged(name, meta, doc, changedFields) {
|
|
71
|
+
if (!doc || !meta?.vector || !changedFields)
|
|
72
|
+
return;
|
|
73
|
+
if (!Object.prototype.hasOwnProperty.call(changedFields, meta.vector.from))
|
|
74
|
+
return;
|
|
75
|
+
await syncDocVector(name, meta, doc);
|
|
76
|
+
}
|
|
64
77
|
// ---------------------------------------------------------------------------
|
|
65
78
|
// Cache key helper
|
|
66
79
|
// ---------------------------------------------------------------------------
|
|
@@ -291,6 +304,7 @@ export function createTypedDB(defs, deleteHandlers) {
|
|
|
291
304
|
const updated = await pgSetDocFields(name, id, fields, notify);
|
|
292
305
|
if (isCacheEnabled(meta))
|
|
293
306
|
cacheSet(docCacheKey(name, id), updated, cacheTtlMs(meta));
|
|
307
|
+
await syncVectorIfFieldChanged(name, meta, updated, fields);
|
|
294
308
|
return updated;
|
|
295
309
|
},
|
|
296
310
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -301,6 +315,7 @@ export function createTypedDB(defs, deleteHandlers) {
|
|
|
301
315
|
const updated = await pgSetDocFieldsOrIgnore(name, id, fields, notify);
|
|
302
316
|
if (updated && isCacheEnabled(meta))
|
|
303
317
|
cacheSet(docCacheKey(name, id), updated, cacheTtlMs(meta));
|
|
318
|
+
await syncVectorIfFieldChanged(name, meta, updated, fields);
|
|
304
319
|
return updated;
|
|
305
320
|
},
|
|
306
321
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -311,6 +326,8 @@ export function createTypedDB(defs, deleteHandlers) {
|
|
|
311
326
|
const result = await pgSetDocFieldsOrCreate(name, id, fields, obj, notify);
|
|
312
327
|
if (isCacheEnabled(meta))
|
|
313
328
|
cacheSet(docCacheKey(name, id), result, cacheTtlMs(meta));
|
|
329
|
+
// create path may not return the merged doc — fall back to the input fields/obj.
|
|
330
|
+
await syncVectorIfFieldChanged(name, meta, result ?? { ...obj, ...fields, _id: id }, fields);
|
|
314
331
|
return result;
|
|
315
332
|
},
|
|
316
333
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -321,6 +338,8 @@ export function createTypedDB(defs, deleteHandlers) {
|
|
|
321
338
|
const updated = await pgSetDocOp(name, id, op, notify);
|
|
322
339
|
if (isCacheEnabled(meta))
|
|
323
340
|
cacheSet(docCacheKey(name, id), updated, cacheTtlMs(meta));
|
|
341
|
+
// Materialize if the op $set the vector source field.
|
|
342
|
+
await syncVectorIfFieldChanged(name, meta, updated, (op?.$set ?? undefined));
|
|
324
343
|
return updated;
|
|
325
344
|
},
|
|
326
345
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
package/dist/server/DB.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DB.js","sourceRoot":"","sources":["../../src/server/DB.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DB.js","sourceRoot":"","sources":["../../src/server/DB.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,12 +25,6 @@ export interface PgGetDocsOptions {
|
|
|
25
25
|
/** Relevance floor (0..1) for search/near. */
|
|
26
26
|
minScore?: number;
|
|
27
27
|
}
|
|
28
|
-
/**
|
|
29
|
-
* Query docs with structured filter + (optional) Postgres FTS + (optional)
|
|
30
|
-
* pgvector ANN, composed into ONE statement against the collection's `search`
|
|
31
|
-
* (tsvector) and `embedding` (vector) columns. The framework never embeds —
|
|
32
|
-
* `near` is a precomputed query embedding.
|
|
33
|
-
*/
|
|
34
28
|
export declare function pgGetDocs<T>(collection: string, filter?: Record<string, unknown>, options?: PgGetDocsOptions): Promise<T[]>;
|
|
35
29
|
export declare function pgGetQuery<T>(collection: string, pipeline: Record<string, unknown>[], options?: {
|
|
36
30
|
skip?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgresDoc.d.ts","sourceRoot":"","sources":["../../src/server/PostgresDoc.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiBH,kFAAkF;AAClF,MAAM,WAAW,QAAQ;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B;AAqCD,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAOnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"PostgresDoc.d.ts","sourceRoot":"","sources":["../../src/server/PostgresDoc.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,23 +37,41 @@ export async function pgGetDoc(collection, id) {
|
|
|
37
37
|
* (tsvector) and `embedding` (vector) columns. The framework never embeds —
|
|
38
38
|
* `near` is a precomputed query embedding.
|
|
39
39
|
*/
|
|
40
|
+
/**
|
|
41
|
+
* Reciprocal Rank Fusion. Each input is an ordered list of ids (best first).
|
|
42
|
+
* An id's fused score is Σ 1/(k + rank); k=60 is the canonical constant. Robust
|
|
43
|
+
* because it combines RANK positions, not raw scores on incomparable scales
|
|
44
|
+
* (ts_rank vs cosine distance). Returns ids ordered by fused score, best first.
|
|
45
|
+
*/
|
|
46
|
+
function rrfFuse(lists, k = 60) {
|
|
47
|
+
const score = new Map();
|
|
48
|
+
for (const list of lists) {
|
|
49
|
+
list.forEach((id, i) => {
|
|
50
|
+
score.set(id, (score.get(id) ?? 0) + 1 / (k + i + 1));
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
return [...score.keys()].sort((a, b) => score.get(b) - score.get(a));
|
|
54
|
+
}
|
|
40
55
|
export async function pgGetDocs(collection, filter, options) {
|
|
41
56
|
const pool = getPool();
|
|
57
|
+
const hasNear = !!(options?.near && options.near.length > 0);
|
|
58
|
+
const hasSearch = !!options?.search?.query;
|
|
59
|
+
// ── Hybrid (search + near) → two independent ranked queries fused with RRF ──
|
|
60
|
+
// FTS arm (ts_rank over the keyword matches) and vector arm (cosine ANN) each
|
|
61
|
+
// rank on their own scale; RRF combines by rank position. This beats a single
|
|
62
|
+
// blended ORDER BY (ts_rank + cosine), whose terms live on incomparable scales.
|
|
63
|
+
if (hasNear && hasSearch) {
|
|
64
|
+
return rrfHybridGetDocs(pool, collection, filter, options);
|
|
65
|
+
}
|
|
42
66
|
const { where, values } = translateFilter(filter ?? {});
|
|
43
67
|
const conds = where ? [where] : [];
|
|
44
|
-
const hasNear = !!(options?.near && options.near.length > 0);
|
|
45
|
-
// Full-text search → ranked by ts_rank. When combined with a vector `near`
|
|
46
|
-
// (hybrid), FTS only BOOSTS the ranking — it does NOT hard-filter, so a
|
|
47
|
-
// semantically-near row without keyword overlap still surfaces. FTS-only
|
|
48
|
-
// queries do filter on a match.
|
|
49
68
|
let rankExpr = null;
|
|
50
|
-
if (
|
|
69
|
+
if (hasSearch) {
|
|
51
70
|
const lang = safeLanguage(options.search.language);
|
|
52
71
|
values.push(options.search.query);
|
|
53
72
|
const tsq = `websearch_to_tsquery('${lang}', $${values.length})`;
|
|
54
73
|
rankExpr = `ts_rank(search, ${tsq})`;
|
|
55
|
-
|
|
56
|
-
conds.push(`search @@ ${tsq}`);
|
|
74
|
+
conds.push(`search @@ ${tsq}`);
|
|
57
75
|
}
|
|
58
76
|
else if (!hasNear) {
|
|
59
77
|
void warnIfUnindexed(pool, collection, filter); // only meaningful for plain filters
|
|
@@ -76,10 +94,7 @@ export async function pgGetDocs(collection, filter, options) {
|
|
|
76
94
|
let sql = `SELECT _id, data, created, updated, version FROM "${collection}"`;
|
|
77
95
|
if (conds.length)
|
|
78
96
|
sql += ` WHERE ${conds.join(' AND ')}`;
|
|
79
|
-
|
|
80
|
-
if (rankExpr && simExpr)
|
|
81
|
-
sql += ` ORDER BY (${rankExpr} + ${simExpr}) DESC`;
|
|
82
|
-
else if (simExpr)
|
|
97
|
+
if (simExpr)
|
|
83
98
|
sql += ` ORDER BY ${simExpr} DESC`;
|
|
84
99
|
else if (rankExpr)
|
|
85
100
|
sql += ` ORDER BY ${rankExpr} DESC`;
|
|
@@ -96,6 +111,57 @@ export async function pgGetDocs(collection, filter, options) {
|
|
|
96
111
|
const result = await pool.query(sql, values);
|
|
97
112
|
return result.rows.map((r) => toDoc(r));
|
|
98
113
|
}
|
|
114
|
+
/** Hybrid getDocs: FTS arm + vector arm, fused with RRF, then hydrated. */
|
|
115
|
+
async function rrfHybridGetDocs(pool, collection, filter, options) {
|
|
116
|
+
const limit = options.limit ?? 10;
|
|
117
|
+
const skip = options.skip ?? 0;
|
|
118
|
+
// Over-fetch per arm so the fusion has depth to work with.
|
|
119
|
+
const armLimit = Math.min(Math.max(limit + skip, 10) * 5, 200);
|
|
120
|
+
const lang = safeLanguage(options.search.language);
|
|
121
|
+
// FTS arm — keyword matches ranked by ts_rank.
|
|
122
|
+
const ftsBase = translateFilter(filter ?? {});
|
|
123
|
+
const ftsConds = ftsBase.where ? [ftsBase.where] : [];
|
|
124
|
+
const ftsValues = ftsBase.values;
|
|
125
|
+
ftsValues.push(options.search.query);
|
|
126
|
+
const tsq = `websearch_to_tsquery('${lang}', $${ftsValues.length})`;
|
|
127
|
+
ftsConds.push(`search @@ ${tsq}`);
|
|
128
|
+
ftsValues.push(armLimit);
|
|
129
|
+
const ftsSql = `SELECT _id FROM "${collection}"` +
|
|
130
|
+
(ftsConds.length ? ` WHERE ${ftsConds.join(' AND ')}` : '') +
|
|
131
|
+
` ORDER BY ts_rank(search, ${tsq}) DESC LIMIT $${ftsValues.length}`;
|
|
132
|
+
// Vector arm — nearest neighbours by cosine distance.
|
|
133
|
+
const vecBase = translateFilter(filter ?? {});
|
|
134
|
+
const vecConds = vecBase.where ? [vecBase.where] : [];
|
|
135
|
+
const vecValues = vecBase.values;
|
|
136
|
+
vecValues.push(toVectorLiteral(options.near));
|
|
137
|
+
const simExpr = `(1 - (embedding <=> $${vecValues.length}::vector))`;
|
|
138
|
+
vecConds.push(`embedding IS NOT NULL`);
|
|
139
|
+
if (options.minScore !== undefined && Number.isFinite(options.minScore)) {
|
|
140
|
+
vecConds.push(`${simExpr} >= ${Number(options.minScore)}`);
|
|
141
|
+
}
|
|
142
|
+
vecValues.push(armLimit);
|
|
143
|
+
const vecSql = `SELECT _id FROM "${collection}"` +
|
|
144
|
+
(vecConds.length ? ` WHERE ${vecConds.join(' AND ')}` : '') +
|
|
145
|
+
` ORDER BY embedding <=> $${vecValues.length - 1}::vector LIMIT $${vecValues.length}`;
|
|
146
|
+
const [ftsRes, vecRes] = await Promise.all([
|
|
147
|
+
pool.query(ftsSql, ftsValues),
|
|
148
|
+
pool.query(vecSql, vecValues),
|
|
149
|
+
]);
|
|
150
|
+
const fused = rrfFuse([
|
|
151
|
+
ftsRes.rows.map((r) => r._id),
|
|
152
|
+
vecRes.rows.map((r) => r._id),
|
|
153
|
+
]);
|
|
154
|
+
const pageIds = fused.slice(skip, skip + limit);
|
|
155
|
+
if (pageIds.length === 0)
|
|
156
|
+
return [];
|
|
157
|
+
// Hydrate the page in one query, then restore the fused order.
|
|
158
|
+
const hy = await pool.query(`SELECT _id, data, created, updated, version FROM "${collection}" WHERE _id = ANY($1)`, [pageIds]);
|
|
159
|
+
const byId = new Map(hy.rows.map((r) => [r._id, r]));
|
|
160
|
+
return pageIds
|
|
161
|
+
.map((id) => byId.get(id))
|
|
162
|
+
.filter((r) => r !== undefined)
|
|
163
|
+
.map((r) => toDoc(r));
|
|
164
|
+
}
|
|
99
165
|
export async function pgGetQuery(collection, pipeline, options) {
|
|
100
166
|
const pool = getPool();
|
|
101
167
|
const { sql, values } = translatePipeline(collection, pipeline, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgresDoc.js","sourceRoot":"","sources":["../../src/server/PostgresDoc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PostgresDoc.js","sourceRoot":"","sources":["../../src/server/PostgresDoc.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ugly-app",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.634",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"comment:files": "Allowlist what ships to npm. dist = runtime; src = sourcemap targets (dist/*.js.map reference ../../src/); templates = CLI scaffold. Everything else at repo root (.pgdata local Postgres, coverage, assets/icons sources, test/, test-results/) is excluded by omission. The !negations strip the scaffold's installed deps + cruft (templates/node_modules is 200MB+ and must never ship). package.json/README/LICENSE ship automatically.",
|
|
6
6
|
"files": [
|
package/src/cli/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Auto-generated by prebuild — do not edit manually
|
|
2
|
-
export const CLI_VERSION = "0.1.
|
|
2
|
+
export const CLI_VERSION = "0.1.634";
|
package/src/server/DB.ts
CHANGED
|
@@ -91,6 +91,23 @@ async function syncDocVector(
|
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
+
/**
|
|
95
|
+
* Materialize the vector column after a partial-field update, but only when the
|
|
96
|
+
* update actually touched the doc's `vector.from` field — so the common
|
|
97
|
+
* `setDocFields`/`setDocOp` paths (e.g. `setDocFields(recipe, id, { embedding })`)
|
|
98
|
+
* populate the `embedding` column, not just the full-doc `setDoc` path.
|
|
99
|
+
*/
|
|
100
|
+
async function syncVectorIfFieldChanged(
|
|
101
|
+
name: string,
|
|
102
|
+
meta: CollectionMeta | undefined,
|
|
103
|
+
doc: Record<string, unknown> | null | undefined,
|
|
104
|
+
changedFields: Record<string, unknown> | undefined,
|
|
105
|
+
): Promise<void> {
|
|
106
|
+
if (!doc || !meta?.vector || !changedFields) return;
|
|
107
|
+
if (!Object.prototype.hasOwnProperty.call(changedFields, meta.vector.from)) return;
|
|
108
|
+
await syncDocVector(name, meta, doc);
|
|
109
|
+
}
|
|
110
|
+
|
|
94
111
|
// ---------------------------------------------------------------------------
|
|
95
112
|
// Cache key helper
|
|
96
113
|
// ---------------------------------------------------------------------------
|
|
@@ -423,6 +440,7 @@ export function createTypedDB<Defs extends CollectionDefRegistry>(
|
|
|
423
440
|
const notify = buildNotify(meta);
|
|
424
441
|
const updated = await pgSetDocFields(name, id, fields, notify);
|
|
425
442
|
if (isCacheEnabled(meta)) cacheSet(docCacheKey(name, id), updated, cacheTtlMs(meta));
|
|
443
|
+
await syncVectorIfFieldChanged(name, meta, updated as Record<string, unknown>, fields);
|
|
426
444
|
return updated;
|
|
427
445
|
},
|
|
428
446
|
|
|
@@ -433,6 +451,7 @@ export function createTypedDB<Defs extends CollectionDefRegistry>(
|
|
|
433
451
|
const notify = buildNotify(meta);
|
|
434
452
|
const updated = await pgSetDocFieldsOrIgnore(name, id, fields, notify);
|
|
435
453
|
if (updated && isCacheEnabled(meta)) cacheSet(docCacheKey(name, id), updated, cacheTtlMs(meta));
|
|
454
|
+
await syncVectorIfFieldChanged(name, meta, updated as Record<string, unknown> | null, fields);
|
|
436
455
|
return updated;
|
|
437
456
|
},
|
|
438
457
|
|
|
@@ -443,6 +462,13 @@ export function createTypedDB<Defs extends CollectionDefRegistry>(
|
|
|
443
462
|
const notify = buildNotify(meta);
|
|
444
463
|
const result = await pgSetDocFieldsOrCreate(name, id, fields, obj, notify);
|
|
445
464
|
if (isCacheEnabled(meta)) cacheSet(docCacheKey(name, id), result, cacheTtlMs(meta));
|
|
465
|
+
// create path may not return the merged doc — fall back to the input fields/obj.
|
|
466
|
+
await syncVectorIfFieldChanged(
|
|
467
|
+
name,
|
|
468
|
+
meta,
|
|
469
|
+
(result as Record<string, unknown>) ?? { ...obj, ...fields, _id: id },
|
|
470
|
+
fields,
|
|
471
|
+
);
|
|
446
472
|
return result;
|
|
447
473
|
},
|
|
448
474
|
|
|
@@ -453,6 +479,13 @@ export function createTypedDB<Defs extends CollectionDefRegistry>(
|
|
|
453
479
|
const notify = buildNotify(meta);
|
|
454
480
|
const updated = await pgSetDocOp(name, id, op, notify);
|
|
455
481
|
if (isCacheEnabled(meta)) cacheSet(docCacheKey(name, id), updated, cacheTtlMs(meta));
|
|
482
|
+
// Materialize if the op $set the vector source field.
|
|
483
|
+
await syncVectorIfFieldChanged(
|
|
484
|
+
name,
|
|
485
|
+
meta,
|
|
486
|
+
updated as Record<string, unknown>,
|
|
487
|
+
(op?.$set ?? undefined) as Record<string, unknown> | undefined,
|
|
488
|
+
);
|
|
456
489
|
return updated;
|
|
457
490
|
},
|
|
458
491
|
|
|
@@ -92,28 +92,49 @@ export interface PgGetDocsOptions {
|
|
|
92
92
|
* (tsvector) and `embedding` (vector) columns. The framework never embeds —
|
|
93
93
|
* `near` is a precomputed query embedding.
|
|
94
94
|
*/
|
|
95
|
+
/**
|
|
96
|
+
* Reciprocal Rank Fusion. Each input is an ordered list of ids (best first).
|
|
97
|
+
* An id's fused score is Σ 1/(k + rank); k=60 is the canonical constant. Robust
|
|
98
|
+
* because it combines RANK positions, not raw scores on incomparable scales
|
|
99
|
+
* (ts_rank vs cosine distance). Returns ids ordered by fused score, best first.
|
|
100
|
+
*/
|
|
101
|
+
function rrfFuse(lists: string[][], k = 60): string[] {
|
|
102
|
+
const score = new Map<string, number>();
|
|
103
|
+
for (const list of lists) {
|
|
104
|
+
list.forEach((id, i) => {
|
|
105
|
+
score.set(id, (score.get(id) ?? 0) + 1 / (k + i + 1));
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
return [...score.keys()].sort((a, b) => score.get(b)! - score.get(a)!);
|
|
109
|
+
}
|
|
110
|
+
|
|
95
111
|
export async function pgGetDocs<T>(
|
|
96
112
|
collection: string,
|
|
97
113
|
filter?: Record<string, unknown>,
|
|
98
114
|
options?: PgGetDocsOptions,
|
|
99
115
|
): Promise<T[]> {
|
|
100
116
|
const pool = getPool();
|
|
117
|
+
const hasNear = !!(options?.near && options.near.length > 0);
|
|
118
|
+
const hasSearch = !!options?.search?.query;
|
|
119
|
+
|
|
120
|
+
// ── Hybrid (search + near) → two independent ranked queries fused with RRF ──
|
|
121
|
+
// FTS arm (ts_rank over the keyword matches) and vector arm (cosine ANN) each
|
|
122
|
+
// rank on their own scale; RRF combines by rank position. This beats a single
|
|
123
|
+
// blended ORDER BY (ts_rank + cosine), whose terms live on incomparable scales.
|
|
124
|
+
if (hasNear && hasSearch) {
|
|
125
|
+
return rrfHybridGetDocs<T>(pool, collection, filter, options!);
|
|
126
|
+
}
|
|
127
|
+
|
|
101
128
|
const { where, values } = translateFilter(filter ?? {});
|
|
102
129
|
const conds: string[] = where ? [where] : [];
|
|
103
130
|
|
|
104
|
-
const hasNear = !!(options?.near && options.near.length > 0);
|
|
105
|
-
|
|
106
|
-
// Full-text search → ranked by ts_rank. When combined with a vector `near`
|
|
107
|
-
// (hybrid), FTS only BOOSTS the ranking — it does NOT hard-filter, so a
|
|
108
|
-
// semantically-near row without keyword overlap still surfaces. FTS-only
|
|
109
|
-
// queries do filter on a match.
|
|
110
131
|
let rankExpr: string | null = null;
|
|
111
|
-
if (
|
|
112
|
-
const lang = safeLanguage(options
|
|
113
|
-
values.push(options
|
|
132
|
+
if (hasSearch) {
|
|
133
|
+
const lang = safeLanguage(options!.search!.language);
|
|
134
|
+
values.push(options!.search!.query);
|
|
114
135
|
const tsq = `websearch_to_tsquery('${lang}', $${values.length})`;
|
|
115
136
|
rankExpr = `ts_rank(search, ${tsq})`;
|
|
116
|
-
|
|
137
|
+
conds.push(`search @@ ${tsq}`);
|
|
117
138
|
} else if (!hasNear) {
|
|
118
139
|
void warnIfUnindexed(pool, collection, filter); // only meaningful for plain filters
|
|
119
140
|
}
|
|
@@ -136,9 +157,7 @@ export async function pgGetDocs<T>(
|
|
|
136
157
|
let sql = `SELECT _id, data, created, updated, version FROM "${collection}"`;
|
|
137
158
|
if (conds.length) sql += ` WHERE ${conds.join(' AND ')}`;
|
|
138
159
|
|
|
139
|
-
|
|
140
|
-
if (rankExpr && simExpr) sql += ` ORDER BY (${rankExpr} + ${simExpr}) DESC`;
|
|
141
|
-
else if (simExpr) sql += ` ORDER BY ${simExpr} DESC`;
|
|
160
|
+
if (simExpr) sql += ` ORDER BY ${simExpr} DESC`;
|
|
142
161
|
else if (rankExpr) sql += ` ORDER BY ${rankExpr} DESC`;
|
|
143
162
|
else if (options?.sort) sql += ` ORDER BY ${translateSort(options.sort)}`;
|
|
144
163
|
|
|
@@ -154,6 +173,72 @@ export async function pgGetDocs<T>(
|
|
|
154
173
|
return result.rows.map((r) => toDoc(r) as T);
|
|
155
174
|
}
|
|
156
175
|
|
|
176
|
+
/** Hybrid getDocs: FTS arm + vector arm, fused with RRF, then hydrated. */
|
|
177
|
+
async function rrfHybridGetDocs<T>(
|
|
178
|
+
pool: ReturnType<typeof getPool>,
|
|
179
|
+
collection: string,
|
|
180
|
+
filter: Record<string, unknown> | undefined,
|
|
181
|
+
options: PgGetDocsOptions,
|
|
182
|
+
): Promise<T[]> {
|
|
183
|
+
const limit = options.limit ?? 10;
|
|
184
|
+
const skip = options.skip ?? 0;
|
|
185
|
+
// Over-fetch per arm so the fusion has depth to work with.
|
|
186
|
+
const armLimit = Math.min(Math.max(limit + skip, 10) * 5, 200);
|
|
187
|
+
const lang = safeLanguage(options.search!.language);
|
|
188
|
+
|
|
189
|
+
// FTS arm — keyword matches ranked by ts_rank.
|
|
190
|
+
const ftsBase = translateFilter(filter ?? {});
|
|
191
|
+
const ftsConds = ftsBase.where ? [ftsBase.where] : [];
|
|
192
|
+
const ftsValues = ftsBase.values;
|
|
193
|
+
ftsValues.push(options.search!.query);
|
|
194
|
+
const tsq = `websearch_to_tsquery('${lang}', $${ftsValues.length})`;
|
|
195
|
+
ftsConds.push(`search @@ ${tsq}`);
|
|
196
|
+
ftsValues.push(armLimit);
|
|
197
|
+
const ftsSql =
|
|
198
|
+
`SELECT _id FROM "${collection}"` +
|
|
199
|
+
(ftsConds.length ? ` WHERE ${ftsConds.join(' AND ')}` : '') +
|
|
200
|
+
` ORDER BY ts_rank(search, ${tsq}) DESC LIMIT $${ftsValues.length}`;
|
|
201
|
+
|
|
202
|
+
// Vector arm — nearest neighbours by cosine distance.
|
|
203
|
+
const vecBase = translateFilter(filter ?? {});
|
|
204
|
+
const vecConds = vecBase.where ? [vecBase.where] : [];
|
|
205
|
+
const vecValues = vecBase.values;
|
|
206
|
+
vecValues.push(toVectorLiteral(options.near!));
|
|
207
|
+
const simExpr = `(1 - (embedding <=> $${vecValues.length}::vector))`;
|
|
208
|
+
vecConds.push(`embedding IS NOT NULL`);
|
|
209
|
+
if (options.minScore !== undefined && Number.isFinite(options.minScore)) {
|
|
210
|
+
vecConds.push(`${simExpr} >= ${Number(options.minScore)}`);
|
|
211
|
+
}
|
|
212
|
+
vecValues.push(armLimit);
|
|
213
|
+
const vecSql =
|
|
214
|
+
`SELECT _id FROM "${collection}"` +
|
|
215
|
+
(vecConds.length ? ` WHERE ${vecConds.join(' AND ')}` : '') +
|
|
216
|
+
` ORDER BY embedding <=> $${vecValues.length - 1}::vector LIMIT $${vecValues.length}`;
|
|
217
|
+
|
|
218
|
+
const [ftsRes, vecRes] = await Promise.all([
|
|
219
|
+
pool.query<{ _id: string }>(ftsSql, ftsValues),
|
|
220
|
+
pool.query<{ _id: string }>(vecSql, vecValues),
|
|
221
|
+
]);
|
|
222
|
+
|
|
223
|
+
const fused = rrfFuse([
|
|
224
|
+
ftsRes.rows.map((r) => r._id),
|
|
225
|
+
vecRes.rows.map((r) => r._id),
|
|
226
|
+
]);
|
|
227
|
+
const pageIds = fused.slice(skip, skip + limit);
|
|
228
|
+
if (pageIds.length === 0) return [];
|
|
229
|
+
|
|
230
|
+
// Hydrate the page in one query, then restore the fused order.
|
|
231
|
+
const hy = await pool.query<FullRow>(
|
|
232
|
+
`SELECT _id, data, created, updated, version FROM "${collection}" WHERE _id = ANY($1)`,
|
|
233
|
+
[pageIds],
|
|
234
|
+
);
|
|
235
|
+
const byId = new Map(hy.rows.map((r) => [r._id, r]));
|
|
236
|
+
return pageIds
|
|
237
|
+
.map((id) => byId.get(id))
|
|
238
|
+
.filter((r): r is FullRow => r !== undefined)
|
|
239
|
+
.map((r) => toDoc(r) as T);
|
|
240
|
+
}
|
|
241
|
+
|
|
157
242
|
export async function pgGetQuery<T>(
|
|
158
243
|
collection: string,
|
|
159
244
|
pipeline: Record<string, unknown>[],
|