redis-vl 0.1.0-beta.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/LICENSE +22 -0
- package/README.md +212 -0
- package/dist/errors.d.ts +50 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +87 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/dist/indexes/search-index.d.ts +368 -0
- package/dist/indexes/search-index.d.ts.map +1 -0
- package/dist/indexes/search-index.js +475 -0
- package/dist/indexes/search-index.js.map +1 -0
- package/dist/query/base.d.ts +51 -0
- package/dist/query/base.d.ts.map +1 -0
- package/dist/query/base.js +6 -0
- package/dist/query/base.js.map +1 -0
- package/dist/query/index.d.ts +7 -0
- package/dist/query/index.d.ts.map +1 -0
- package/dist/query/index.js +7 -0
- package/dist/query/index.js.map +1 -0
- package/dist/query/vector.d.ts +199 -0
- package/dist/query/vector.d.ts.map +1 -0
- package/dist/query/vector.js +198 -0
- package/dist/query/vector.js.map +1 -0
- package/dist/redis/index-info-parser.d.ts +25 -0
- package/dist/redis/index-info-parser.d.ts.map +1 -0
- package/dist/redis/index-info-parser.js +301 -0
- package/dist/redis/index-info-parser.js.map +1 -0
- package/dist/redis/schema-types.d.ts +81 -0
- package/dist/redis/schema-types.d.ts.map +1 -0
- package/dist/redis/schema-types.js +18 -0
- package/dist/redis/schema-types.js.map +1 -0
- package/dist/redis/utils.d.ts +7 -0
- package/dist/redis/utils.d.ts.map +1 -0
- package/dist/redis/utils.js +221 -0
- package/dist/redis/utils.js.map +1 -0
- package/dist/schema/fields.d.ts +163 -0
- package/dist/schema/fields.d.ts.map +1 -0
- package/dist/schema/fields.js +304 -0
- package/dist/schema/fields.js.map +1 -0
- package/dist/schema/index.d.ts +8 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +8 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/schema.d.ts +247 -0
- package/dist/schema/schema.d.ts.map +1 -0
- package/dist/schema/schema.js +403 -0
- package/dist/schema/schema.js.map +1 -0
- package/dist/schema/types.d.ts +56 -0
- package/dist/schema/types.d.ts.map +1 -0
- package/dist/schema/types.js +62 -0
- package/dist/schema/types.js.map +1 -0
- package/dist/storage/base-storage.d.ts +107 -0
- package/dist/storage/base-storage.d.ts.map +1 -0
- package/dist/storage/base-storage.js +187 -0
- package/dist/storage/base-storage.js.map +1 -0
- package/dist/storage/hash-storage.d.ts +29 -0
- package/dist/storage/hash-storage.d.ts.map +1 -0
- package/dist/storage/hash-storage.js +122 -0
- package/dist/storage/hash-storage.js.map +1 -0
- package/dist/storage/index.d.ts +4 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +4 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/json-storage.d.ts +19 -0
- package/dist/storage/json-storage.d.ts.map +1 -0
- package/dist/storage/json-storage.js +81 -0
- package/dist/storage/json-storage.js.map +1 -0
- package/dist/utils/distance.d.ts +92 -0
- package/dist/utils/distance.d.ts.map +1 -0
- package/dist/utils/distance.js +98 -0
- package/dist/utils/distance.js.map +1 -0
- package/dist/vectorizers/base-vectorizer.d.ts +88 -0
- package/dist/vectorizers/base-vectorizer.d.ts.map +1 -0
- package/dist/vectorizers/base-vectorizer.js +32 -0
- package/dist/vectorizers/base-vectorizer.js.map +1 -0
- package/dist/vectorizers/huggingface-vectorizer.d.ts +103 -0
- package/dist/vectorizers/huggingface-vectorizer.d.ts.map +1 -0
- package/dist/vectorizers/huggingface-vectorizer.js +142 -0
- package/dist/vectorizers/huggingface-vectorizer.js.map +1 -0
- package/dist/vectorizers/index.d.ts +10 -0
- package/dist/vectorizers/index.d.ts.map +1 -0
- package/dist/vectorizers/index.js +10 -0
- package/dist/vectorizers/index.js.map +1 -0
- package/package.json +96 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/redis/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { VectorDistanceMetric, VectorDataType } from './types.js';
|
|
2
|
+
import type { SchemaTextField, SchemaTextFieldPhonetic, SchemaNumericField, SchemaGeoField, SchemaTagField, SchemaFlatVectorField, SchemaHNSWVectorField, RedisSchemaFieldType } from '../redis/schema-types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Base interface for all field attributes
|
|
5
|
+
*/
|
|
6
|
+
export interface BaseFieldAttrs {
|
|
7
|
+
as?: string;
|
|
8
|
+
sortable?: boolean;
|
|
9
|
+
indexMissing?: boolean;
|
|
10
|
+
indexEmpty?: boolean;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Base class for all field types
|
|
14
|
+
*/
|
|
15
|
+
export declare abstract class BaseField {
|
|
16
|
+
readonly name: string;
|
|
17
|
+
readonly type: string;
|
|
18
|
+
readonly attrs: BaseFieldAttrs;
|
|
19
|
+
path?: string | null;
|
|
20
|
+
constructor(name: string, type: string, attrs?: BaseFieldAttrs);
|
|
21
|
+
/**
|
|
22
|
+
* Convert this field to Redis schema field format.
|
|
23
|
+
* Each subclass must implement this method to return the appropriate Redis field type.
|
|
24
|
+
* @param isJson - Whether the index uses JSON storage (affects field naming with $.prefix)
|
|
25
|
+
*/
|
|
26
|
+
abstract toRedisField(isJson: boolean): RedisSchemaFieldType;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* TextField attributes
|
|
30
|
+
*/
|
|
31
|
+
export interface TextFieldAttrs extends BaseFieldAttrs {
|
|
32
|
+
weight?: number;
|
|
33
|
+
noStem?: boolean;
|
|
34
|
+
phonetic?: SchemaTextFieldPhonetic;
|
|
35
|
+
withSuffixTrie?: boolean;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* TextField for full-text search
|
|
39
|
+
*/
|
|
40
|
+
export declare class TextField extends BaseField {
|
|
41
|
+
readonly attrs: TextFieldAttrs;
|
|
42
|
+
constructor(name: string, attrs?: TextFieldAttrs);
|
|
43
|
+
toRedisField(isJson: boolean): SchemaTextField;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* TagField attributes
|
|
47
|
+
*/
|
|
48
|
+
export interface TagFieldAttrs extends BaseFieldAttrs {
|
|
49
|
+
separator?: string;
|
|
50
|
+
caseSensitive?: boolean;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* TagField for exact matching
|
|
54
|
+
*/
|
|
55
|
+
export declare class TagField extends BaseField {
|
|
56
|
+
readonly attrs: TagFieldAttrs;
|
|
57
|
+
constructor(name: string, attrs?: TagFieldAttrs);
|
|
58
|
+
toRedisField(isJson: boolean): SchemaTagField;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* NumericField attributes
|
|
62
|
+
*/
|
|
63
|
+
export interface NumericFieldAttrs extends BaseFieldAttrs {
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* NumericField for range queries
|
|
67
|
+
*/
|
|
68
|
+
export declare class NumericField extends BaseField {
|
|
69
|
+
readonly attrs: NumericFieldAttrs;
|
|
70
|
+
constructor(name: string, attrs?: NumericFieldAttrs);
|
|
71
|
+
toRedisField(isJson: boolean): SchemaNumericField;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* GeoField attributes
|
|
75
|
+
*/
|
|
76
|
+
export interface GeoFieldAttrs extends BaseFieldAttrs {
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* GeoField for geographic queries
|
|
80
|
+
*/
|
|
81
|
+
export declare class GeoField extends BaseField {
|
|
82
|
+
readonly attrs: GeoFieldAttrs;
|
|
83
|
+
constructor(name: string, attrs?: GeoFieldAttrs);
|
|
84
|
+
toRedisField(isJson: boolean): SchemaGeoField;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Base vector field attributes (for generic VectorField)
|
|
88
|
+
*/
|
|
89
|
+
export interface VectorFieldAttrs extends BaseFieldAttrs {
|
|
90
|
+
algorithm: 'flat' | 'hnsw';
|
|
91
|
+
dims: number;
|
|
92
|
+
distanceMetric?: VectorDistanceMetric;
|
|
93
|
+
datatype?: VectorDataType;
|
|
94
|
+
blockSize?: number;
|
|
95
|
+
initialCap?: number;
|
|
96
|
+
m?: number;
|
|
97
|
+
efConstruction?: number;
|
|
98
|
+
efRuntime?: number;
|
|
99
|
+
epsilon?: number;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* FlatVectorField attributes
|
|
103
|
+
*/
|
|
104
|
+
export interface FlatVectorFieldAttrs extends VectorFieldAttrs {
|
|
105
|
+
algorithm: 'flat';
|
|
106
|
+
blockSize?: number;
|
|
107
|
+
initialCap?: number;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* FlatVectorField for FLAT algorithm
|
|
111
|
+
*/
|
|
112
|
+
export declare class FlatVectorField extends BaseField {
|
|
113
|
+
readonly attrs: FlatVectorFieldAttrs;
|
|
114
|
+
constructor(name: string, attrs: FlatVectorFieldAttrs);
|
|
115
|
+
toRedisField(isJson: boolean): SchemaFlatVectorField;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* HNSWVectorField attributes
|
|
119
|
+
*/
|
|
120
|
+
export interface HNSWVectorFieldAttrs extends VectorFieldAttrs {
|
|
121
|
+
algorithm: 'hnsw';
|
|
122
|
+
m?: number;
|
|
123
|
+
efConstruction?: number;
|
|
124
|
+
efRuntime?: number;
|
|
125
|
+
epsilon?: number;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* HNSWVectorField for HNSW algorithm
|
|
129
|
+
*/
|
|
130
|
+
export declare class HNSWVectorField extends BaseField {
|
|
131
|
+
readonly attrs: HNSWVectorFieldAttrs;
|
|
132
|
+
constructor(name: string, attrs: HNSWVectorFieldAttrs);
|
|
133
|
+
toRedisField(isJson: boolean): SchemaHNSWVectorField;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Generic VectorField that supports both FLAT and HNSW algorithms
|
|
137
|
+
*
|
|
138
|
+
* This is a convenience wrapper that delegates to FlatVectorField or HNSWVectorField
|
|
139
|
+
* based on the algorithm specified. This allows users to write algorithm-agnostic code:
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* ```typescript
|
|
143
|
+
* // Generic approach - algorithm specified in attrs
|
|
144
|
+
* new VectorField('embedding', { algorithm: 'hnsw', dims: 768 })
|
|
145
|
+
*
|
|
146
|
+
* // Algorithm-specific approach - algorithm implied by class
|
|
147
|
+
* new HNSWVectorField('embedding', { dims: 768 })
|
|
148
|
+
* ```
|
|
149
|
+
*/
|
|
150
|
+
export declare class VectorField extends BaseField {
|
|
151
|
+
readonly attrs: VectorFieldAttrs;
|
|
152
|
+
private delegateField;
|
|
153
|
+
constructor(name: string, attrs: VectorFieldAttrs);
|
|
154
|
+
toRedisField(isJson: boolean): SchemaFlatVectorField | SchemaHNSWVectorField;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Factory for creating field instances
|
|
158
|
+
*/
|
|
159
|
+
export declare class FieldFactory {
|
|
160
|
+
static createField(fieldType: string, name: string, attrs?: BaseFieldAttrs | VectorFieldAttrs): BaseField;
|
|
161
|
+
private static createVectorField;
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=fields.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../src/schema/fields.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
import { FieldType } from './types.js';
|
|
2
|
+
import { SchemaValidationError } from '../errors.js';
|
|
3
|
+
/**
|
|
4
|
+
* Base class for all field types
|
|
5
|
+
*/
|
|
6
|
+
export class BaseField {
|
|
7
|
+
name;
|
|
8
|
+
type;
|
|
9
|
+
attrs;
|
|
10
|
+
path;
|
|
11
|
+
constructor(name, type, attrs = {}) {
|
|
12
|
+
this.name = name;
|
|
13
|
+
this.type = type;
|
|
14
|
+
this.attrs = attrs;
|
|
15
|
+
this.path = undefined;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* TextField for full-text search
|
|
20
|
+
*/
|
|
21
|
+
export class TextField extends BaseField {
|
|
22
|
+
attrs;
|
|
23
|
+
constructor(name, attrs = {}) {
|
|
24
|
+
super(name, 'text', attrs);
|
|
25
|
+
this.attrs = attrs;
|
|
26
|
+
}
|
|
27
|
+
toRedisField(isJson) {
|
|
28
|
+
const field = {
|
|
29
|
+
type: 'TEXT',
|
|
30
|
+
};
|
|
31
|
+
// Add AS field for JSON storage
|
|
32
|
+
if (isJson && this.attrs.as) {
|
|
33
|
+
field.AS = this.attrs.as;
|
|
34
|
+
}
|
|
35
|
+
// Add text-specific attributes
|
|
36
|
+
if (this.attrs.weight !== undefined) {
|
|
37
|
+
field.WEIGHT = this.attrs.weight;
|
|
38
|
+
}
|
|
39
|
+
if (this.attrs.noStem) {
|
|
40
|
+
field.NOSTEM = true;
|
|
41
|
+
}
|
|
42
|
+
if (this.attrs.phonetic) {
|
|
43
|
+
field.PHONETIC = this.attrs.phonetic; // Phonetic matcher string
|
|
44
|
+
}
|
|
45
|
+
if (this.attrs.withSuffixTrie) {
|
|
46
|
+
field.WITHSUFFIXTRIE = true;
|
|
47
|
+
}
|
|
48
|
+
// Add common attributes
|
|
49
|
+
if (this.attrs.sortable) {
|
|
50
|
+
field.SORTABLE = true;
|
|
51
|
+
}
|
|
52
|
+
if (this.attrs.indexMissing) {
|
|
53
|
+
field.INDEXMISSING = true;
|
|
54
|
+
}
|
|
55
|
+
if (this.attrs.indexEmpty) {
|
|
56
|
+
field.INDEXEMPTY = true;
|
|
57
|
+
}
|
|
58
|
+
return field;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* TagField for exact matching
|
|
63
|
+
*/
|
|
64
|
+
export class TagField extends BaseField {
|
|
65
|
+
attrs;
|
|
66
|
+
constructor(name, attrs = {}) {
|
|
67
|
+
super(name, 'tag', attrs);
|
|
68
|
+
this.attrs = attrs;
|
|
69
|
+
// Set default separator if not provided
|
|
70
|
+
if (!this.attrs.separator) {
|
|
71
|
+
this.attrs.separator = ',';
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
toRedisField(isJson) {
|
|
75
|
+
const field = {
|
|
76
|
+
type: 'TAG',
|
|
77
|
+
};
|
|
78
|
+
// Add AS field for JSON storage
|
|
79
|
+
if (isJson && this.attrs.as) {
|
|
80
|
+
field.AS = this.attrs.as;
|
|
81
|
+
}
|
|
82
|
+
// Add tag-specific attributes
|
|
83
|
+
if (this.attrs.separator) {
|
|
84
|
+
field.SEPARATOR = this.attrs.separator;
|
|
85
|
+
}
|
|
86
|
+
if (this.attrs.caseSensitive) {
|
|
87
|
+
field.CASESENSITIVE = true;
|
|
88
|
+
}
|
|
89
|
+
// Add common attributes
|
|
90
|
+
if (this.attrs.sortable) {
|
|
91
|
+
field.SORTABLE = true;
|
|
92
|
+
}
|
|
93
|
+
if (this.attrs.indexMissing) {
|
|
94
|
+
field.INDEXMISSING = true;
|
|
95
|
+
}
|
|
96
|
+
if (this.attrs.indexEmpty) {
|
|
97
|
+
field.INDEXEMPTY = true;
|
|
98
|
+
}
|
|
99
|
+
return field;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* NumericField for range queries
|
|
104
|
+
*/
|
|
105
|
+
export class NumericField extends BaseField {
|
|
106
|
+
attrs;
|
|
107
|
+
constructor(name, attrs = {}) {
|
|
108
|
+
super(name, 'numeric', attrs);
|
|
109
|
+
this.attrs = attrs;
|
|
110
|
+
}
|
|
111
|
+
toRedisField(isJson) {
|
|
112
|
+
const field = {
|
|
113
|
+
type: 'NUMERIC',
|
|
114
|
+
};
|
|
115
|
+
// Add AS field for JSON storage
|
|
116
|
+
if (isJson && this.attrs.as) {
|
|
117
|
+
field.AS = this.attrs.as;
|
|
118
|
+
}
|
|
119
|
+
// Add common attributes
|
|
120
|
+
if (this.attrs.sortable) {
|
|
121
|
+
field.SORTABLE = true;
|
|
122
|
+
}
|
|
123
|
+
if (this.attrs.indexMissing) {
|
|
124
|
+
field.INDEXMISSING = true;
|
|
125
|
+
}
|
|
126
|
+
return field;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* GeoField for geographic queries
|
|
131
|
+
*/
|
|
132
|
+
export class GeoField extends BaseField {
|
|
133
|
+
attrs;
|
|
134
|
+
constructor(name, attrs = {}) {
|
|
135
|
+
super(name, 'geo', attrs);
|
|
136
|
+
this.attrs = attrs;
|
|
137
|
+
}
|
|
138
|
+
toRedisField(isJson) {
|
|
139
|
+
const field = {
|
|
140
|
+
type: 'GEO',
|
|
141
|
+
};
|
|
142
|
+
// Add AS field for JSON storage
|
|
143
|
+
if (isJson && this.attrs.as) {
|
|
144
|
+
field.AS = this.attrs.as;
|
|
145
|
+
}
|
|
146
|
+
// Add common attributes
|
|
147
|
+
if (this.attrs.sortable) {
|
|
148
|
+
field.SORTABLE = true;
|
|
149
|
+
}
|
|
150
|
+
if (this.attrs.indexMissing) {
|
|
151
|
+
field.INDEXMISSING = true;
|
|
152
|
+
}
|
|
153
|
+
return field;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* FlatVectorField for FLAT algorithm
|
|
158
|
+
*/
|
|
159
|
+
export class FlatVectorField extends BaseField {
|
|
160
|
+
attrs;
|
|
161
|
+
constructor(name, attrs) {
|
|
162
|
+
super(name, 'vector', attrs);
|
|
163
|
+
this.attrs = attrs;
|
|
164
|
+
}
|
|
165
|
+
toRedisField(isJson) {
|
|
166
|
+
const field = {
|
|
167
|
+
type: 'VECTOR',
|
|
168
|
+
ALGORITHM: 'FLAT',
|
|
169
|
+
TYPE: (this.attrs.datatype || 'FLOAT32').toUpperCase(),
|
|
170
|
+
DIM: this.attrs.dims,
|
|
171
|
+
DISTANCE_METRIC: (this.attrs.distanceMetric || 'COSINE').toUpperCase(),
|
|
172
|
+
};
|
|
173
|
+
// Add AS field for JSON storage
|
|
174
|
+
if (isJson && this.attrs.as) {
|
|
175
|
+
field.AS = this.attrs.as;
|
|
176
|
+
}
|
|
177
|
+
// Add FLAT-specific attributes
|
|
178
|
+
if (this.attrs.blockSize !== undefined) {
|
|
179
|
+
field.BLOCK_SIZE = this.attrs.blockSize;
|
|
180
|
+
}
|
|
181
|
+
if (this.attrs.initialCap !== undefined) {
|
|
182
|
+
field.INITIAL_CAP = this.attrs.initialCap;
|
|
183
|
+
}
|
|
184
|
+
return field;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* HNSWVectorField for HNSW algorithm
|
|
189
|
+
*/
|
|
190
|
+
export class HNSWVectorField extends BaseField {
|
|
191
|
+
attrs;
|
|
192
|
+
constructor(name, attrs) {
|
|
193
|
+
super(name, 'vector', attrs);
|
|
194
|
+
this.attrs = attrs;
|
|
195
|
+
// Set default HNSW parameters
|
|
196
|
+
if (this.attrs.m === undefined)
|
|
197
|
+
this.attrs.m = 16;
|
|
198
|
+
if (this.attrs.efConstruction === undefined)
|
|
199
|
+
this.attrs.efConstruction = 200;
|
|
200
|
+
if (this.attrs.efRuntime === undefined)
|
|
201
|
+
this.attrs.efRuntime = 10;
|
|
202
|
+
if (this.attrs.epsilon === undefined)
|
|
203
|
+
this.attrs.epsilon = 0.01;
|
|
204
|
+
}
|
|
205
|
+
toRedisField(isJson) {
|
|
206
|
+
const field = {
|
|
207
|
+
type: 'VECTOR',
|
|
208
|
+
ALGORITHM: 'HNSW',
|
|
209
|
+
TYPE: (this.attrs.datatype || 'FLOAT32').toUpperCase(),
|
|
210
|
+
DIM: this.attrs.dims,
|
|
211
|
+
DISTANCE_METRIC: (this.attrs.distanceMetric || 'COSINE').toUpperCase(),
|
|
212
|
+
};
|
|
213
|
+
// Add AS field for JSON storage
|
|
214
|
+
if (isJson && this.attrs.as) {
|
|
215
|
+
field.AS = this.attrs.as;
|
|
216
|
+
}
|
|
217
|
+
// Add HNSW-specific attributes
|
|
218
|
+
if (this.attrs.m !== undefined) {
|
|
219
|
+
field.M = this.attrs.m;
|
|
220
|
+
}
|
|
221
|
+
if (this.attrs.efConstruction !== undefined) {
|
|
222
|
+
field.EF_CONSTRUCTION = this.attrs.efConstruction;
|
|
223
|
+
}
|
|
224
|
+
if (this.attrs.efRuntime !== undefined) {
|
|
225
|
+
field.EF_RUNTIME = this.attrs.efRuntime;
|
|
226
|
+
}
|
|
227
|
+
return field;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Generic VectorField that supports both FLAT and HNSW algorithms
|
|
232
|
+
*
|
|
233
|
+
* This is a convenience wrapper that delegates to FlatVectorField or HNSWVectorField
|
|
234
|
+
* based on the algorithm specified. This allows users to write algorithm-agnostic code:
|
|
235
|
+
*
|
|
236
|
+
* @example
|
|
237
|
+
* ```typescript
|
|
238
|
+
* // Generic approach - algorithm specified in attrs
|
|
239
|
+
* new VectorField('embedding', { algorithm: 'hnsw', dims: 768 })
|
|
240
|
+
*
|
|
241
|
+
* // Algorithm-specific approach - algorithm implied by class
|
|
242
|
+
* new HNSWVectorField('embedding', { dims: 768 })
|
|
243
|
+
* ```
|
|
244
|
+
*/
|
|
245
|
+
export class VectorField extends BaseField {
|
|
246
|
+
attrs;
|
|
247
|
+
delegateField;
|
|
248
|
+
constructor(name, attrs) {
|
|
249
|
+
super(name, 'vector', attrs);
|
|
250
|
+
this.attrs = attrs;
|
|
251
|
+
// Create the appropriate delegate field based on algorithm
|
|
252
|
+
if (attrs.algorithm === 'flat') {
|
|
253
|
+
this.delegateField = new FlatVectorField(name, attrs);
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
this.delegateField = new HNSWVectorField(name, attrs);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
toRedisField(isJson) {
|
|
260
|
+
// Delegate to the appropriate field class
|
|
261
|
+
return this.delegateField.toRedisField(isJson);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Factory for creating field instances
|
|
266
|
+
*/
|
|
267
|
+
export class FieldFactory {
|
|
268
|
+
static createField(fieldType, name, attrs) {
|
|
269
|
+
switch (fieldType) {
|
|
270
|
+
case FieldType.TAG:
|
|
271
|
+
return new TagField(name, attrs);
|
|
272
|
+
case FieldType.TEXT:
|
|
273
|
+
return new TextField(name, attrs);
|
|
274
|
+
case FieldType.NUMERIC:
|
|
275
|
+
return new NumericField(name, attrs);
|
|
276
|
+
case FieldType.GEO:
|
|
277
|
+
return new GeoField(name, attrs);
|
|
278
|
+
case FieldType.VECTOR:
|
|
279
|
+
return this.createVectorField(name, attrs);
|
|
280
|
+
default:
|
|
281
|
+
throw new SchemaValidationError(`Unknown field type: ${fieldType}`);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
static createVectorField(name, attrs) {
|
|
285
|
+
if (!attrs) {
|
|
286
|
+
throw new SchemaValidationError('Vector field requires attrs parameter');
|
|
287
|
+
}
|
|
288
|
+
if (!attrs.algorithm) {
|
|
289
|
+
throw new SchemaValidationError('Must provide algorithm param');
|
|
290
|
+
}
|
|
291
|
+
if (attrs.dims === undefined) {
|
|
292
|
+
throw new SchemaValidationError('Must provide dims param');
|
|
293
|
+
}
|
|
294
|
+
switch (attrs.algorithm) {
|
|
295
|
+
case 'flat':
|
|
296
|
+
return new FlatVectorField(name, attrs);
|
|
297
|
+
case 'hnsw':
|
|
298
|
+
return new HNSWVectorField(name, attrs);
|
|
299
|
+
default:
|
|
300
|
+
throw new SchemaValidationError(`Unknown vector field algorithm: ${attrs.algorithm}`);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
//# sourceMappingURL=fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../src/schema/fields.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|