@omendb/omendb 0.0.28 → 0.0.29
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/index.d.ts +32 -3
- package/index.js +6 -2
- package/package.json +6 -6
package/index.d.ts
CHANGED
|
@@ -24,6 +24,9 @@ export declare class VectorDatabase {
|
|
|
24
24
|
*
|
|
25
25
|
* @param items - Array of {id, vector, metadata?, text?} or {id, vectors, metadata?}
|
|
26
26
|
* @returns Number of vectors inserted/updated
|
|
27
|
+
*
|
|
28
|
+
* @note Batch inserts (multiple items) skip the WAL for performance. Data is not
|
|
29
|
+
* durable until flush() is called.
|
|
27
30
|
*/
|
|
28
31
|
set(items: Array<SetItem>): Promise<number>
|
|
29
32
|
/** Get a vector by ID. */
|
|
@@ -124,6 +127,8 @@ export declare class VectorDatabase {
|
|
|
124
127
|
isEmpty(): boolean
|
|
125
128
|
/** Get database statistics. */
|
|
126
129
|
stats(): StatsResult
|
|
130
|
+
/** Get comprehensive database diagnostics. */
|
|
131
|
+
info(): InfoResult
|
|
127
132
|
/** Get current ef_search value. */
|
|
128
133
|
get efSearch(): number
|
|
129
134
|
/** Set ef_search value. */
|
|
@@ -253,9 +258,11 @@ export declare class VectorDatabase {
|
|
|
253
258
|
/**
|
|
254
259
|
* Search for k nearest neighbors.
|
|
255
260
|
*
|
|
256
|
-
* @param query - Query vector
|
|
261
|
+
* @param query - Query vector(s): number[] or Float32Array for single-vector stores;
|
|
262
|
+
* number[][] or Float32Array[] for multi-vector stores
|
|
257
263
|
* @param k - Number of results to return
|
|
258
|
-
* @param options - Optional search options: {filter?, ef?, maxDistance?}
|
|
264
|
+
* @param options - Optional search options. Single-vector: {filter?, ef?, maxDistance?}.
|
|
265
|
+
* Multi-vector: {rerank?, rerankFactor?}
|
|
259
266
|
* @returns Array of {id, distance, score, metadata}
|
|
260
267
|
*
|
|
261
268
|
* @example
|
|
@@ -266,9 +273,12 @@ export declare class VectorDatabase {
|
|
|
266
273
|
* // With options
|
|
267
274
|
* db.search([1, 0, 0, 0], 10, { filter: { category: "A" }, ef: 200 });
|
|
268
275
|
* db.search([1, 0, 0, 0], 10, { maxDistance: 0.5 });
|
|
276
|
+
*
|
|
277
|
+
* // Multi-vector search
|
|
278
|
+
* db.search([[0.1, 0.2], [0.3, 0.4]], 5, { rerank: true, rerankFactor: 8 });
|
|
269
279
|
* ```
|
|
270
280
|
*/
|
|
271
|
-
search(query: Array<number> | Float32Array | string
|
|
281
|
+
search(query: Array<number> | Float32Array | string | Array<Array<number>> | Array<Float32Array>, k: number, options?: { filter?: Record<string, unknown>; ef?: number; maxDistance?: number; rerank?: boolean; rerankFactor?: number } | undefined): Promise<Array<SearchResult>>
|
|
272
282
|
/**
|
|
273
283
|
* Search multi-vector store with query tokens.
|
|
274
284
|
*
|
|
@@ -373,6 +383,25 @@ export interface HybridSearchResult {
|
|
|
373
383
|
semanticScore?: number
|
|
374
384
|
}
|
|
375
385
|
|
|
386
|
+
export interface InfoResult {
|
|
387
|
+
vectorCount: number
|
|
388
|
+
deletedCount: number
|
|
389
|
+
dimensions: number
|
|
390
|
+
metric: string
|
|
391
|
+
frozenSegmentCount: number
|
|
392
|
+
mutableSegmentVectors: number
|
|
393
|
+
vectorBytes: number
|
|
394
|
+
graphBytes: number
|
|
395
|
+
totalMemoryBytes: number
|
|
396
|
+
walEntries: number
|
|
397
|
+
isPersistent: boolean
|
|
398
|
+
hnswM: number
|
|
399
|
+
hnswEfConstruction: number
|
|
400
|
+
hnswEfSearch: number
|
|
401
|
+
quantization: boolean
|
|
402
|
+
segmentCapacity: number
|
|
403
|
+
}
|
|
404
|
+
|
|
376
405
|
/**
|
|
377
406
|
* Open or create a vector database.
|
|
378
407
|
*
|
package/index.js
CHANGED
|
@@ -314,8 +314,12 @@ class VectorDatabase {
|
|
|
314
314
|
return this._native.optimize();
|
|
315
315
|
}
|
|
316
316
|
|
|
317
|
-
mergeFrom(other) {
|
|
318
|
-
return this._native.mergeFrom(other._native);
|
|
317
|
+
mergeFrom(other, keyPrefix) {
|
|
318
|
+
return this._native.mergeFrom(other._native, keyPrefix);
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
info() {
|
|
322
|
+
return this._native.info();
|
|
319
323
|
}
|
|
320
324
|
|
|
321
325
|
ids() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@omendb/omendb",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.29",
|
|
4
4
|
"description": "Fast embedded vector database with HNSW + ACORN-1 filtered search",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -50,10 +50,10 @@
|
|
|
50
50
|
"omendb.node"
|
|
51
51
|
],
|
|
52
52
|
"optionalDependencies": {
|
|
53
|
-
"@omendb/omendb-darwin-x64": "0.0.
|
|
54
|
-
"@omendb/omendb-darwin-arm64": "0.0.
|
|
55
|
-
"@omendb/omendb-linux-x64-gnu": "0.0.
|
|
56
|
-
"@omendb/omendb-linux-arm64-gnu": "0.0.
|
|
57
|
-
"@omendb/omendb-win32-x64-msvc": "0.0.
|
|
53
|
+
"@omendb/omendb-darwin-x64": "0.0.29",
|
|
54
|
+
"@omendb/omendb-darwin-arm64": "0.0.29",
|
|
55
|
+
"@omendb/omendb-linux-x64-gnu": "0.0.29",
|
|
56
|
+
"@omendb/omendb-linux-arm64-gnu": "0.0.29",
|
|
57
|
+
"@omendb/omendb-win32-x64-msvc": "0.0.29"
|
|
58
58
|
}
|
|
59
59
|
}
|