@liendev/core 0.23.0 → 0.24.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/vectordb/query.d.ts
CHANGED
|
@@ -5,7 +5,8 @@ type LanceDBTable = any;
|
|
|
5
5
|
*/
|
|
6
6
|
export declare function search(table: LanceDBTable, queryVector: Float32Array, limit?: number, query?: string): Promise<SearchResult[]>;
|
|
7
7
|
/**
|
|
8
|
-
* Scan the database with filters
|
|
8
|
+
* Scan the database with filters.
|
|
9
|
+
* Scans all records to ensure complete coverage.
|
|
9
10
|
*/
|
|
10
11
|
export declare function scanWithFilter(table: LanceDBTable, options: {
|
|
11
12
|
language?: string;
|
|
@@ -14,6 +15,7 @@ export declare function scanWithFilter(table: LanceDBTable, options: {
|
|
|
14
15
|
}): Promise<SearchResult[]>;
|
|
15
16
|
/**
|
|
16
17
|
* Query symbols (functions, classes, interfaces)
|
|
18
|
+
* Scans all records in the database to find matching symbols.
|
|
17
19
|
*/
|
|
18
20
|
export declare function querySymbols(table: LanceDBTable, options: {
|
|
19
21
|
language?: string;
|
|
@@ -22,9 +24,8 @@ export declare function querySymbols(table: LanceDBTable, options: {
|
|
|
22
24
|
limit?: number;
|
|
23
25
|
}): Promise<SearchResult[]>;
|
|
24
26
|
/**
|
|
25
|
-
* Scan all chunks in the database
|
|
26
|
-
*
|
|
27
|
-
* This is more efficient than pagination for local/embedded databases like LanceDB
|
|
27
|
+
* Scan all chunks in the database.
|
|
28
|
+
* Returns all records matching the optional filters.
|
|
28
29
|
*/
|
|
29
30
|
export declare function scanAll(table: LanceDBTable, options?: {
|
|
30
31
|
language?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/vectordb/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAU1C,KAAK,YAAY,GAAG,GAAG,CAAC;AAiLxB;;GAEG;AACH,wBAAsB,MAAM,CAC1B,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,YAAY,EACzB,KAAK,GAAE,MAAU,EACjB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,EAAE,CAAC,CA+BzB;AAED
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/vectordb/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAU1C,KAAK,YAAY,GAAG,GAAG,CAAC;AAiLxB;;GAEG;AACH,wBAAsB,MAAM,CAC1B,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,YAAY,EACzB,KAAK,GAAE,MAAU,EACjB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,EAAE,CAAC,CA+BzB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,YAAY,EAAE,CAAC,CA0CzB;AA+ED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,YAAY,EAAE,CAAC,CAoCzB;AAED;;;GAGG;AACH,wBAAsB,OAAO,CAC3B,KAAK,EAAE,YAAY,EACnB,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CACb,GACL,OAAO,CAAC,YAAY,EAAE,CAAC,CAiBzB"}
|
package/dist/vectordb/query.js
CHANGED
|
@@ -155,7 +155,8 @@ export async function search(table, queryVector, limit = 5, query) {
|
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
157
|
/**
|
|
158
|
-
* Scan the database with filters
|
|
158
|
+
* Scan the database with filters.
|
|
159
|
+
* Scans all records to ensure complete coverage.
|
|
159
160
|
*/
|
|
160
161
|
export async function scanWithFilter(table, options) {
|
|
161
162
|
if (!table) {
|
|
@@ -163,10 +164,12 @@ export async function scanWithFilter(table, options) {
|
|
|
163
164
|
}
|
|
164
165
|
const { language, pattern, limit = 100 } = options;
|
|
165
166
|
try {
|
|
167
|
+
// Get total row count to ensure we scan all records
|
|
168
|
+
const totalRows = await table.countRows();
|
|
166
169
|
const zeroVector = Array(EMBEDDING_DIMENSION).fill(0);
|
|
167
170
|
const query = table.search(zeroVector)
|
|
168
171
|
.where('file != ""')
|
|
169
|
-
.limit(Math.max(
|
|
172
|
+
.limit(Math.max(totalRows, 1000));
|
|
170
173
|
const results = await query.toArray();
|
|
171
174
|
let filtered = results.filter(isValidRecord);
|
|
172
175
|
if (language) {
|
|
@@ -244,6 +247,7 @@ function buildLegacySymbols(r) {
|
|
|
244
247
|
}
|
|
245
248
|
/**
|
|
246
249
|
* Query symbols (functions, classes, interfaces)
|
|
250
|
+
* Scans all records in the database to find matching symbols.
|
|
247
251
|
*/
|
|
248
252
|
export async function querySymbols(table, options) {
|
|
249
253
|
if (!table) {
|
|
@@ -252,10 +256,14 @@ export async function querySymbols(table, options) {
|
|
|
252
256
|
const { language, pattern, symbolType, limit = 50 } = options;
|
|
253
257
|
const filterOpts = { language, pattern, symbolType };
|
|
254
258
|
try {
|
|
259
|
+
// Get total row count to ensure we scan all records
|
|
260
|
+
const totalRows = await table.countRows();
|
|
261
|
+
// Use zero-vector search with limit >= totalRows to get all records
|
|
262
|
+
// This is the recommended approach for LanceDB full scans
|
|
255
263
|
const zeroVector = Array(EMBEDDING_DIMENSION).fill(0);
|
|
256
264
|
const query = table.search(zeroVector)
|
|
257
265
|
.where('file != ""')
|
|
258
|
-
.limit(Math.max(
|
|
266
|
+
.limit(Math.max(totalRows, 1000));
|
|
259
267
|
const results = await query.toArray();
|
|
260
268
|
const filtered = results
|
|
261
269
|
.filter((r) => isValidRecord(r) && matchesSymbolFilter(r, filterOpts));
|
|
@@ -274,27 +282,21 @@ export async function querySymbols(table, options) {
|
|
|
274
282
|
}
|
|
275
283
|
}
|
|
276
284
|
/**
|
|
277
|
-
* Scan all chunks in the database
|
|
278
|
-
*
|
|
279
|
-
* This is more efficient than pagination for local/embedded databases like LanceDB
|
|
285
|
+
* Scan all chunks in the database.
|
|
286
|
+
* Returns all records matching the optional filters.
|
|
280
287
|
*/
|
|
281
288
|
export async function scanAll(table, options = {}) {
|
|
282
289
|
if (!table) {
|
|
283
290
|
throw new DatabaseError('Vector database not initialized');
|
|
284
291
|
}
|
|
285
292
|
try {
|
|
286
|
-
// Get total row count to
|
|
293
|
+
// Get total row count to use as the output limit
|
|
287
294
|
const totalRows = await table.countRows();
|
|
288
|
-
//
|
|
289
|
-
|
|
290
|
-
// then caps output to 'limit'. We pass totalRows so we get all rows back after
|
|
291
|
-
// filtering. The 5x overfetch is acceptable overhead for local DBs.
|
|
292
|
-
const MIN_SCAN_LIMIT = 1000;
|
|
293
|
-
const results = await scanWithFilter(table, {
|
|
295
|
+
// scanWithFilter now handles the full scan internally
|
|
296
|
+
return await scanWithFilter(table, {
|
|
294
297
|
...options,
|
|
295
|
-
limit: Math.max(totalRows,
|
|
298
|
+
limit: Math.max(totalRows, 1000),
|
|
296
299
|
});
|
|
297
|
-
return results;
|
|
298
300
|
}
|
|
299
301
|
catch (error) {
|
|
300
302
|
throw wrapError(error, 'Failed to scan all chunks');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/vectordb/query.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/vectordb/query.ts"],"names":[],"mappings":"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"}
|