redis-vl 0.1.0-beta.0 → 0.1.0-beta.2
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/THIRD_PARTY_NOTICES.md +61 -0
- package/dist/index.d.ts +17 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/indexes/search-index.d.ts +68 -4
- package/dist/indexes/search-index.d.ts.map +1 -1
- package/dist/indexes/search-index.js +151 -6
- package/dist/indexes/search-index.js.map +1 -1
- package/dist/query/aggregation.d.ts +227 -0
- package/dist/query/aggregation.d.ts.map +1 -0
- package/dist/query/aggregation.js +392 -0
- package/dist/query/aggregation.js.map +1 -0
- package/dist/query/base.d.ts +26 -0
- package/dist/query/base.d.ts.map +1 -1
- package/dist/query/base.js +9 -1
- package/dist/query/base.js.map +1 -1
- package/dist/query/count.d.ts +32 -0
- package/dist/query/count.d.ts.map +1 -0
- package/dist/query/count.js +31 -0
- package/dist/query/count.js.map +1 -0
- package/dist/query/filter-query.d.ts +42 -0
- package/dist/query/filter-query.d.ts.map +1 -0
- package/dist/query/filter-query.js +37 -0
- package/dist/query/filter-query.js.map +1 -0
- package/dist/query/filter.d.ts +116 -0
- package/dist/query/filter.d.ts.map +1 -0
- package/dist/query/filter.js +289 -0
- package/dist/query/filter.js.map +1 -0
- package/dist/query/hybrid.d.ts +198 -0
- package/dist/query/hybrid.d.ts.map +1 -0
- package/dist/query/hybrid.js +331 -0
- package/dist/query/hybrid.js.map +1 -0
- package/dist/query/index.d.ts +7 -0
- package/dist/query/index.d.ts.map +1 -1
- package/dist/query/index.js +7 -0
- package/dist/query/index.js.map +1 -1
- package/dist/query/range.d.ts +81 -0
- package/dist/query/range.d.ts.map +1 -0
- package/dist/query/range.js +106 -0
- package/dist/query/range.js.map +1 -0
- package/dist/query/text.d.ts +82 -0
- package/dist/query/text.d.ts.map +1 -0
- package/dist/query/text.js +86 -0
- package/dist/query/text.js.map +1 -0
- package/dist/query/vector.d.ts +10 -12
- package/dist/query/vector.d.ts.map +1 -1
- package/dist/query/vector.js +17 -27
- package/dist/query/vector.js.map +1 -1
- package/dist/redis/client-types.d.ts +30 -0
- package/dist/redis/client-types.d.ts.map +1 -0
- package/dist/redis/client-types.js +15 -0
- package/dist/redis/client-types.js.map +1 -0
- package/dist/redis/protocol.d.ts +34 -0
- package/dist/redis/protocol.d.ts.map +1 -0
- package/dist/redis/protocol.js +47 -0
- package/dist/redis/protocol.js.map +1 -0
- package/dist/storage/base-storage.d.ts +2 -1
- package/dist/storage/base-storage.d.ts.map +1 -1
- package/dist/storage/base-storage.js +20 -3
- package/dist/storage/base-storage.js.map +1 -1
- package/dist/utils/stopwords/english.d.ts +18 -0
- package/dist/utils/stopwords/english.d.ts.map +1 -0
- package/dist/utils/stopwords/english.js +217 -0
- package/dist/utils/stopwords/english.js.map +1 -0
- package/dist/utils/stopwords/index.d.ts +14 -0
- package/dist/utils/stopwords/index.d.ts.map +1 -0
- package/dist/utils/stopwords/index.js +13 -0
- package/dist/utils/stopwords/index.js.map +1 -0
- package/dist/utils/stopwords/registry.d.ts +7 -0
- package/dist/utils/stopwords/registry.d.ts.map +1 -0
- package/dist/utils/stopwords/registry.js +10 -0
- package/dist/utils/stopwords/registry.js.map +1 -0
- package/dist/utils/stopwords/resolve.d.ts +28 -0
- package/dist/utils/stopwords/resolve.d.ts.map +1 -0
- package/dist/utils/stopwords/resolve.js +46 -0
- package/dist/utils/stopwords/resolve.js.map +1 -0
- package/dist/utils/token-escaper.d.ts +20 -0
- package/dist/utils/token-escaper.d.ts.map +1 -0
- package/dist/utils/token-escaper.js +28 -0
- package/dist/utils/token-escaper.js.map +1 -0
- package/package.json +11 -2
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Third Party Notices
|
|
2
|
+
|
|
3
|
+
This package bundles third-party content under the licenses below. The
|
|
4
|
+
attribution requirements listed here are satisfied by including this file in
|
|
5
|
+
the npm tarball (`package.json#files`).
|
|
6
|
+
|
|
7
|
+
## NLTK English stopword list
|
|
8
|
+
|
|
9
|
+
- **File:** `src/utils/stopwords/english.ts`
|
|
10
|
+
- **Source:** NLTK `stopwords/english` from commit
|
|
11
|
+
[`98e14261eaec2244af1db4ec5b282112444495aa`](https://github.com/nltk/nltk_data/tree/98e14261eaec2244af1db4ec5b282112444495aa)
|
|
12
|
+
(2026-01-09).
|
|
13
|
+
- **Raw-bytes SHA-256:**
|
|
14
|
+
`f6d005956f407dbc6ea32e5ff0c7e8e6f71488d3239b9023efdc7fc139d6375b`
|
|
15
|
+
- **Original list author:** Snowball project (Martin Porter and contributors).
|
|
16
|
+
See https://snowballstem.org/license.html.
|
|
17
|
+
- **License:** BSD-3-Clause (the Snowball list redistributed inside the NLTK
|
|
18
|
+
Apache-2.0 corpus archive).
|
|
19
|
+
|
|
20
|
+
### Snowball BSD-3-Clause license text
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
Copyright (c) 2001, Dr Martin Porter
|
|
24
|
+
Copyright (c) 2002, Richard Boulton
|
|
25
|
+
Copyright (c) 2004, 2005, Richard Boulton
|
|
26
|
+
Copyright (c) 2013, Yoshiki Shibukawa
|
|
27
|
+
Copyright (c) 2006-2025, Olly Betts
|
|
28
|
+
All rights reserved.
|
|
29
|
+
|
|
30
|
+
Redistribution and use in source and binary forms, with or without
|
|
31
|
+
modification, are permitted provided that the following conditions are met:
|
|
32
|
+
|
|
33
|
+
1. Redistributions of source code must retain the above copyright notice,
|
|
34
|
+
this list of conditions and the following disclaimer.
|
|
35
|
+
|
|
36
|
+
2. Redistributions in binary form must reproduce the above copyright
|
|
37
|
+
notice, this list of conditions and the following disclaimer in the
|
|
38
|
+
documentation and/or other materials provided with the distribution.
|
|
39
|
+
|
|
40
|
+
3. Neither the name of the Snowball project nor the names of its
|
|
41
|
+
contributors may be used to endorse or promote products derived from
|
|
42
|
+
this software without specific prior written permission.
|
|
43
|
+
|
|
44
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
45
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
46
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
47
|
+
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
48
|
+
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
49
|
+
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
50
|
+
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
51
|
+
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
52
|
+
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
53
|
+
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
54
|
+
POSSIBILITY OF SUCH DAMAGE.
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### NLTK Apache-2.0 packaging notice
|
|
58
|
+
|
|
59
|
+
NLTK is licensed under Apache-2.0 (https://www.apache.org/licenses/LICENSE-2.0).
|
|
60
|
+
The `stopwords` corpus is redistributed unmodified inside the NLTK data
|
|
61
|
+
package.
|
package/dist/index.d.ts
CHANGED
|
@@ -14,8 +14,24 @@ export { SearchIndex } from './indexes/search-index.js';
|
|
|
14
14
|
export type { CreateIndexOptions, DeleteIndexOptions } from './indexes/search-index.js';
|
|
15
15
|
export { VectorQuery } from './query/vector.js';
|
|
16
16
|
export type { VectorQueryConfig, HybridPolicy, UseSearchHistory } from './query/vector.js';
|
|
17
|
-
export
|
|
17
|
+
export { VectorRangeQuery } from './query/range.js';
|
|
18
|
+
export type { VectorRangeQueryConfig } from './query/range.js';
|
|
19
|
+
export { FilterQuery } from './query/filter-query.js';
|
|
20
|
+
export type { FilterQueryConfig } from './query/filter-query.js';
|
|
21
|
+
export { CountQuery } from './query/count.js';
|
|
22
|
+
export type { CountQueryConfig } from './query/count.js';
|
|
23
|
+
export { TextQuery } from './query/text.js';
|
|
24
|
+
export type { TextQueryConfig, TextScorer } from './query/text.js';
|
|
25
|
+
export { HybridQuery } from './query/hybrid.js';
|
|
26
|
+
export type { HybridQueryConfig, HybridVectorMethod, HybridCombine, HybridCommand, } from './query/hybrid.js';
|
|
27
|
+
export { AggregationQuery, Reducers } from './query/aggregation.js';
|
|
28
|
+
export type { AggregateCommand, SortSpec, LoadField, Reducer } from './query/aggregation.js';
|
|
29
|
+
export { Tag, Num, Text, Geo, GeoRadius, Timestamp, FilterExpression } from './query/filter.js';
|
|
30
|
+
export type { Inclusive, GeoUnit } from './query/filter.js';
|
|
31
|
+
export type { BaseQuery, SearchResult, SearchDocument, QueryOptions, FilterInput, HybridSearchResult, } from './query/base.js';
|
|
18
32
|
export { RedisVLError, RedisSearchError, SchemaValidationError, QueryValidationError, RedisModuleVersionError, VectorizerError, } from './errors.js';
|
|
19
33
|
export { BaseVectorizer, HuggingFaceVectorizer, type HuggingFaceConfig, } from './vectorizers/index.js';
|
|
20
34
|
export { normalizeCosineDistance, denormalizeCosineDistance, normalizeL2Distance, DISTANCE_NORMALIZERS, type DistanceNormalizer, } from './utils/distance.js';
|
|
35
|
+
export { stopwords } from './utils/stopwords/index.js';
|
|
36
|
+
export type { StopwordsInput } from './utils/stopwords/index.js';
|
|
21
37
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EACH,SAAS,EACT,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,WAAW,EAAE,+CAA+C;AAC5D,eAAe,EAAE,iCAAiC;AAClD,eAAe,EAAE,iCAAiC;AAClD,YAAY,GACf,MAAM,oBAAoB,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAGlC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGxF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC3F,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EACH,SAAS,EACT,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,WAAW,EAAE,+CAA+C;AAC5D,eAAe,EAAE,iCAAiC;AAClD,eAAe,EAAE,iCAAiC;AAClD,YAAY,GACf,MAAM,oBAAoB,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAGlC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGxF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EACR,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,aAAa,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACpE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAChG,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5D,YAAY,EACR,SAAS,EACT,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,WAAW,EACX,kBAAkB,GACrB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACH,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,GAClB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACH,cAAc,EACd,qBAAqB,EACrB,KAAK,iBAAiB,GACzB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACH,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACpB,KAAK,kBAAkB,GAC1B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -16,10 +16,19 @@ export * from './schema/types.js';
|
|
|
16
16
|
export { SearchIndex } from './indexes/search-index.js';
|
|
17
17
|
// Query exports
|
|
18
18
|
export { VectorQuery } from './query/vector.js';
|
|
19
|
+
export { VectorRangeQuery } from './query/range.js';
|
|
20
|
+
export { FilterQuery } from './query/filter-query.js';
|
|
21
|
+
export { CountQuery } from './query/count.js';
|
|
22
|
+
export { TextQuery } from './query/text.js';
|
|
23
|
+
export { HybridQuery } from './query/hybrid.js';
|
|
24
|
+
export { AggregationQuery, Reducers } from './query/aggregation.js';
|
|
25
|
+
export { Tag, Num, Text, Geo, GeoRadius, Timestamp, FilterExpression } from './query/filter.js';
|
|
19
26
|
// Error exports
|
|
20
27
|
export { RedisVLError, RedisSearchError, SchemaValidationError, QueryValidationError, RedisModuleVersionError, VectorizerError, } from './errors.js';
|
|
21
28
|
// Vectorizer exports
|
|
22
29
|
export { BaseVectorizer, HuggingFaceVectorizer, } from './vectorizers/index.js';
|
|
23
30
|
// Utility exports
|
|
24
31
|
export { normalizeCosineDistance, denormalizeCosineDistance, normalizeL2Distance, DISTANCE_NORMALIZERS, } from './utils/distance.js';
|
|
32
|
+
// Stopwords exports (also available as the `redis-vl/stopwords` subpath)
|
|
33
|
+
export { stopwords } from './utils/stopwords/index.js';
|
|
25
34
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,UAAU;AACV,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EACH,SAAS,EACT,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,WAAW,EAAE,+CAA+C;AAC5D,eAAe,EAAE,iCAAiC;AAClD,eAAe,EAAE,iCAAiC;AAClD,YAAY,GACf,MAAM,oBAAoB,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAElC,gBAAgB;AAChB,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,gBAAgB;AAChB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,UAAU;AACV,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EACH,SAAS,EACT,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,WAAW,EAAE,+CAA+C;AAC5D,eAAe,EAAE,iCAAiC;AAClD,eAAe,EAAE,iCAAiC;AAClD,YAAY,GACf,MAAM,oBAAoB,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAElC,gBAAgB;AAChB,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,gBAAgB;AAChB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAOhD,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEpE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAWhG,gBAAgB;AAChB,OAAO,EACH,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,GAClB,MAAM,aAAa,CAAC;AAErB,qBAAqB;AACrB,OAAO,EACH,cAAc,EACd,qBAAqB,GAExB,MAAM,wBAAwB,CAAC;AAEhC,kBAAkB;AAClB,OAAO,EACH,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,GAEvB,MAAM,qBAAqB,CAAC;AAE7B,yEAAyE;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
* @module Search Index
|
|
3
3
|
* Main search index class for managing Redis search indexes.
|
|
4
4
|
*/
|
|
5
|
-
import type {
|
|
5
|
+
import type { AnyRedisClient } from '../redis/client-types.js';
|
|
6
6
|
import { IndexSchema } from '../schema/schema.js';
|
|
7
|
-
import type { BaseQuery, SearchResult, QueryOptions } from '../query/base.js';
|
|
7
|
+
import type { BaseQuery, SearchResult, QueryOptions, HybridSearchResult } from '../query/base.js';
|
|
8
|
+
import { HybridQuery } from '../query/hybrid.js';
|
|
9
|
+
import type { AggregationQuery } from '../query/aggregation.js';
|
|
8
10
|
/**
|
|
9
11
|
* Options for creating an index.
|
|
10
12
|
*/
|
|
@@ -133,7 +135,7 @@ export declare class SearchIndex {
|
|
|
133
135
|
* @throws {Error} If schema is not a valid IndexSchema instance
|
|
134
136
|
* @throws {Error} If client is not provided
|
|
135
137
|
*/
|
|
136
|
-
constructor(schema: IndexSchema, client:
|
|
138
|
+
constructor(schema: IndexSchema, client: AnyRedisClient, validateOnLoad?: boolean);
|
|
137
139
|
/**
|
|
138
140
|
* Load an existing index from Redis by name.
|
|
139
141
|
*
|
|
@@ -155,7 +157,7 @@ export declare class SearchIndex {
|
|
|
155
157
|
* const docs = await index.fetchMany(['key1', 'key2']);
|
|
156
158
|
* ```
|
|
157
159
|
*/
|
|
158
|
-
static fromExisting(name: string, client:
|
|
160
|
+
static fromExisting(name: string, client: AnyRedisClient, validateOnLoad?: boolean): Promise<SearchIndex>;
|
|
159
161
|
/**
|
|
160
162
|
* Get the index name from the schema.
|
|
161
163
|
*/
|
|
@@ -364,5 +366,67 @@ export declare class SearchIndex {
|
|
|
364
366
|
* ```
|
|
365
367
|
*/
|
|
366
368
|
search<T = Record<string, unknown>>(query: BaseQuery, options?: QueryOptions): Promise<SearchResult<T>>;
|
|
369
|
+
/**
|
|
370
|
+
* Execute a hybrid (text + vector) search via Redis' built-in `FT.HYBRID`
|
|
371
|
+
* command. Score fusion happens server-side — no client-side fusion.
|
|
372
|
+
*
|
|
373
|
+
* Requires Redis Open Source 8.4.0+ on the server (FT.HYBRID was
|
|
374
|
+
* introduced in that release).
|
|
375
|
+
*
|
|
376
|
+
* @experimental Built on `client.ft.hybrid()` which `@redis/search` flags
|
|
377
|
+
* experimental. The reply shape may shift between minor releases.
|
|
378
|
+
*
|
|
379
|
+
* @example
|
|
380
|
+
* ```typescript
|
|
381
|
+
* import { HybridQuery } from 'redis-vl';
|
|
382
|
+
*
|
|
383
|
+
* const q = new HybridQuery({
|
|
384
|
+
* text: 'machine learning',
|
|
385
|
+
* textFieldName: 'description',
|
|
386
|
+
* vector: embedding,
|
|
387
|
+
* vectorField: 'embedding',
|
|
388
|
+
* combine: { type: 'RRF' },
|
|
389
|
+
* vsimFilter: '@brand:{nike}',
|
|
390
|
+
* });
|
|
391
|
+
*
|
|
392
|
+
* const { total, documents, executionTime } = await index.hybridSearch(q);
|
|
393
|
+
* ```
|
|
394
|
+
*/
|
|
395
|
+
hybridSearch<T = Record<string, unknown>>(query: HybridQuery): Promise<HybridSearchResult<T>>;
|
|
396
|
+
/**
|
|
397
|
+
* Execute an {@link AggregationQuery} (`FT.AGGREGATE`) against this index.
|
|
398
|
+
*
|
|
399
|
+
* Returns the raw aggregate result: a `total` row count and a list of
|
|
400
|
+
* rows, where each row is a `Record<string, string | string[]>` of field
|
|
401
|
+
* name to value. GROUPBY/REDUCE/APPLY aliases appear as keys on each row.
|
|
402
|
+
*
|
|
403
|
+
* Scalar reducers (`COUNT`, `SUM`, `AVG`, …) yield strings — numeric
|
|
404
|
+
* casting is the caller's job. List reducers (`TOLIST`) yield
|
|
405
|
+
* `string[]`, preserving the array structure Redis returns on the wire.
|
|
406
|
+
*
|
|
407
|
+
* @example
|
|
408
|
+
* ```typescript
|
|
409
|
+
* import { AggregationQuery, Reducers } from 'redis-vl';
|
|
410
|
+
*
|
|
411
|
+
* const q = new AggregationQuery('@category:{electronics}')
|
|
412
|
+
* .groupBy('@brand', Reducers.sum('price', 'revenue'))
|
|
413
|
+
* .sortBy([{ field: 'revenue', direction: 'DESC' }])
|
|
414
|
+
* .limit(0, 5);
|
|
415
|
+
*
|
|
416
|
+
* const { total, results } = await index.aggregate(q);
|
|
417
|
+
* for (const row of results) console.log(row.brand, row.revenue);
|
|
418
|
+
* ```
|
|
419
|
+
*/
|
|
420
|
+
aggregate(query: AggregationQuery): Promise<{
|
|
421
|
+
total: number;
|
|
422
|
+
results: Array<Record<string, string | string[]>>;
|
|
423
|
+
}>;
|
|
424
|
+
/**
|
|
425
|
+
* Convert a single FT.HYBRID result row into our public SearchDocument
|
|
426
|
+
* shape. The server returns each row as a flat key/value object that
|
|
427
|
+
* includes `__key` (the document key), any user-loaded fields, and the
|
|
428
|
+
* score aliases configured on the query.
|
|
429
|
+
*/
|
|
430
|
+
private mapHybridRow;
|
|
367
431
|
}
|
|
368
432
|
//# sourceMappingURL=search-index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-index.d.ts","sourceRoot":"","sources":["../../src/indexes/search-index.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"search-index.d.ts","sourceRoot":"","sources":["../../src/indexes/search-index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
* @module Search Index
|
|
3
3
|
* Main search index class for managing Redis search indexes.
|
|
4
4
|
*/
|
|
5
|
+
import { assertSupportedProtocol } from '../redis/protocol.js';
|
|
5
6
|
import { IndexSchema } from '../schema/schema.js';
|
|
6
7
|
import { buildRedisVLSchemaFromRedisIndexInfo } from '../redis/index-info-parser.js';
|
|
7
8
|
import { HashStorage, JsonStorage } from '../storage/index.js';
|
|
8
9
|
import { RedisVLError, SchemaValidationError } from '../errors.js';
|
|
9
10
|
import { VectorQuery } from '../query/vector.js';
|
|
11
|
+
import { VectorRangeQuery } from '../query/range.js';
|
|
10
12
|
import { DISTANCE_NORMALIZERS } from '../utils/distance.js';
|
|
11
13
|
/**
|
|
12
14
|
* SearchIndex class for managing Redis vector search indices.
|
|
@@ -65,7 +67,10 @@ export class SearchIndex {
|
|
|
65
67
|
if (!client) {
|
|
66
68
|
throw new RedisVLError('Must provide a valid Redis client');
|
|
67
69
|
}
|
|
70
|
+
assertSupportedProtocol(client);
|
|
68
71
|
this.schema = schema;
|
|
72
|
+
// Narrow the publicly-accepted wide client surface to the RESP=2
|
|
73
|
+
// shape this library is implemented against. See client-types.ts.
|
|
69
74
|
this.client = client;
|
|
70
75
|
this.validateOnLoad = validateOnLoad;
|
|
71
76
|
// Initialize appropriate storage based on storage type
|
|
@@ -94,10 +99,11 @@ export class SearchIndex {
|
|
|
94
99
|
* ```
|
|
95
100
|
*/
|
|
96
101
|
static async fromExisting(name, client, validateOnLoad = false) {
|
|
102
|
+
assertSupportedProtocol(client);
|
|
103
|
+
const ftClient = client;
|
|
97
104
|
let info;
|
|
98
105
|
try {
|
|
99
|
-
|
|
100
|
-
info = await client.ft.info(name);
|
|
106
|
+
info = await ftClient.ft.info(name);
|
|
101
107
|
}
|
|
102
108
|
catch (error) {
|
|
103
109
|
const message = error instanceof Error ? error.message : String(error);
|
|
@@ -146,10 +152,16 @@ export class SearchIndex {
|
|
|
146
152
|
return redisSchema;
|
|
147
153
|
}
|
|
148
154
|
getVectorScoreAlias(query) {
|
|
149
|
-
|
|
155
|
+
if (query instanceof VectorQuery || query instanceof VectorRangeQuery) {
|
|
156
|
+
return query.scoreAlias;
|
|
157
|
+
}
|
|
158
|
+
return null;
|
|
150
159
|
}
|
|
151
160
|
getVectorDistanceNormalizer(query) {
|
|
152
|
-
if (!(query instanceof VectorQuery)
|
|
161
|
+
if (!(query instanceof VectorQuery) && !(query instanceof VectorRangeQuery)) {
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
164
|
+
if (!query.normalizeDistance) {
|
|
153
165
|
return null;
|
|
154
166
|
}
|
|
155
167
|
const vectorField = this.schema.fields[query.vectorField];
|
|
@@ -413,11 +425,16 @@ export class SearchIndex {
|
|
|
413
425
|
const params = query.buildParams();
|
|
414
426
|
const scoreAlias = this.getVectorScoreAlias(query);
|
|
415
427
|
const normalizer = this.getVectorDistanceNormalizer(query);
|
|
416
|
-
// Build FT.SEARCH options
|
|
428
|
+
// Build FT.SEARCH options. Only include PARAMS when the query
|
|
429
|
+
// actually produced parameter pairs — Redis rejects an empty
|
|
430
|
+
// PARAMS clause with "Parameters must be specified in PARAM VALUE
|
|
431
|
+
// pairs", which broke filter-only / text / count queries.
|
|
417
432
|
const searchOptions = {
|
|
418
|
-
PARAMS: params,
|
|
419
433
|
DIALECT: options?.dialect ?? 2, // DIALECT 2 required for KNN
|
|
420
434
|
};
|
|
435
|
+
if (Object.keys(params).length > 0) {
|
|
436
|
+
searchOptions.PARAMS = params;
|
|
437
|
+
}
|
|
421
438
|
// Add RETURN fields if specified
|
|
422
439
|
// For VectorQuery, always include the score field (vector_distance by default)
|
|
423
440
|
if (query.returnFields && query.returnFields.length > 0) {
|
|
@@ -443,6 +460,14 @@ export class SearchIndex {
|
|
|
443
460
|
};
|
|
444
461
|
}
|
|
445
462
|
}
|
|
463
|
+
// CountQuery (and any other consumer) can opt into NOCONTENT to
|
|
464
|
+
// skip payload retrieval — Redis only returns the total + ids.
|
|
465
|
+
if (query.noContent) {
|
|
466
|
+
searchOptions.NOCONTENT = true;
|
|
467
|
+
}
|
|
468
|
+
if (query.textScorer) {
|
|
469
|
+
searchOptions.SCORER = query.textScorer;
|
|
470
|
+
}
|
|
446
471
|
// Execute search
|
|
447
472
|
const response = await this.client.ft.search(this.schema.index.name, queryString, searchOptions);
|
|
448
473
|
// Transform response to SearchResult format
|
|
@@ -471,5 +496,125 @@ export class SearchIndex {
|
|
|
471
496
|
throw new RedisVLError(`Failed to execute search query: ${error instanceof Error ? error.message : String(error)}`, { cause: error instanceof Error ? error : undefined });
|
|
472
497
|
}
|
|
473
498
|
}
|
|
499
|
+
/**
|
|
500
|
+
* Execute a hybrid (text + vector) search via Redis' built-in `FT.HYBRID`
|
|
501
|
+
* command. Score fusion happens server-side — no client-side fusion.
|
|
502
|
+
*
|
|
503
|
+
* Requires Redis Open Source 8.4.0+ on the server (FT.HYBRID was
|
|
504
|
+
* introduced in that release).
|
|
505
|
+
*
|
|
506
|
+
* @experimental Built on `client.ft.hybrid()` which `@redis/search` flags
|
|
507
|
+
* experimental. The reply shape may shift between minor releases.
|
|
508
|
+
*
|
|
509
|
+
* @example
|
|
510
|
+
* ```typescript
|
|
511
|
+
* import { HybridQuery } from 'redis-vl';
|
|
512
|
+
*
|
|
513
|
+
* const q = new HybridQuery({
|
|
514
|
+
* text: 'machine learning',
|
|
515
|
+
* textFieldName: 'description',
|
|
516
|
+
* vector: embedding,
|
|
517
|
+
* vectorField: 'embedding',
|
|
518
|
+
* combine: { type: 'RRF' },
|
|
519
|
+
* vsimFilter: '@brand:{nike}',
|
|
520
|
+
* });
|
|
521
|
+
*
|
|
522
|
+
* const { total, documents, executionTime } = await index.hybridSearch(q);
|
|
523
|
+
* ```
|
|
524
|
+
*/
|
|
525
|
+
async hybridSearch(query) {
|
|
526
|
+
try {
|
|
527
|
+
const { options } = query.toCommand();
|
|
528
|
+
// `client.ft.hybrid` is exposed by @redis/search but the type
|
|
529
|
+
// bundle on RedisClientType doesn't surface it directly.
|
|
530
|
+
const ft = this.client.ft;
|
|
531
|
+
const reply = await ft.hybrid(this.name, options);
|
|
532
|
+
const documents = reply.results.map((row) => this.mapHybridRow(row, query.combinedScoreAlias));
|
|
533
|
+
return {
|
|
534
|
+
total: reply.totalResults,
|
|
535
|
+
documents,
|
|
536
|
+
executionTime: reply.executionTime,
|
|
537
|
+
warnings: reply.warnings,
|
|
538
|
+
};
|
|
539
|
+
}
|
|
540
|
+
catch (error) {
|
|
541
|
+
throw new RedisVLError(`Failed to execute hybrid search: ${error instanceof Error ? error.message : String(error)}`, { cause: error instanceof Error ? error : undefined });
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
/**
|
|
545
|
+
* Execute an {@link AggregationQuery} (`FT.AGGREGATE`) against this index.
|
|
546
|
+
*
|
|
547
|
+
* Returns the raw aggregate result: a `total` row count and a list of
|
|
548
|
+
* rows, where each row is a `Record<string, string | string[]>` of field
|
|
549
|
+
* name to value. GROUPBY/REDUCE/APPLY aliases appear as keys on each row.
|
|
550
|
+
*
|
|
551
|
+
* Scalar reducers (`COUNT`, `SUM`, `AVG`, …) yield strings — numeric
|
|
552
|
+
* casting is the caller's job. List reducers (`TOLIST`) yield
|
|
553
|
+
* `string[]`, preserving the array structure Redis returns on the wire.
|
|
554
|
+
*
|
|
555
|
+
* @example
|
|
556
|
+
* ```typescript
|
|
557
|
+
* import { AggregationQuery, Reducers } from 'redis-vl';
|
|
558
|
+
*
|
|
559
|
+
* const q = new AggregationQuery('@category:{electronics}')
|
|
560
|
+
* .groupBy('@brand', Reducers.sum('price', 'revenue'))
|
|
561
|
+
* .sortBy([{ field: 'revenue', direction: 'DESC' }])
|
|
562
|
+
* .limit(0, 5);
|
|
563
|
+
*
|
|
564
|
+
* const { total, results } = await index.aggregate(q);
|
|
565
|
+
* for (const row of results) console.log(row.brand, row.revenue);
|
|
566
|
+
* ```
|
|
567
|
+
*/
|
|
568
|
+
async aggregate(query) {
|
|
569
|
+
try {
|
|
570
|
+
const { query: queryString, options } = query.toCommand();
|
|
571
|
+
const reply = await this.client.ft.aggregate(this.name, queryString, options);
|
|
572
|
+
// node-redis returns each row as a MapReply, which resolves to a
|
|
573
|
+
// plain object by default or to a real `Map` when the caller has
|
|
574
|
+
// opted into Map type-mapping via `client.withTypeMapping(...)`.
|
|
575
|
+
// Handle both shapes. Preserve array values verbatim (TOLIST
|
|
576
|
+
// returns string[]); coerce scalar non-strings via String() so
|
|
577
|
+
// numeric reducers come back as strings consistent with the
|
|
578
|
+
// FT.AGGREGATE wire format.
|
|
579
|
+
const results = reply.results.map((row) => {
|
|
580
|
+
const out = {};
|
|
581
|
+
const entries = row instanceof Map
|
|
582
|
+
? row.entries()
|
|
583
|
+
: Object.entries(row);
|
|
584
|
+
for (const [k, v] of entries) {
|
|
585
|
+
if (Array.isArray(v)) {
|
|
586
|
+
out[k] = v.map((item) => (typeof item === 'string' ? item : String(item)));
|
|
587
|
+
}
|
|
588
|
+
else {
|
|
589
|
+
out[k] = typeof v === 'string' ? v : String(v);
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
return out;
|
|
593
|
+
});
|
|
594
|
+
return { total: reply.total, results };
|
|
595
|
+
}
|
|
596
|
+
catch (error) {
|
|
597
|
+
throw new RedisVLError(`Failed to execute aggregate query: ${error instanceof Error ? error.message : String(error)}`, { cause: error instanceof Error ? error : undefined });
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
/**
|
|
601
|
+
* Convert a single FT.HYBRID result row into our public SearchDocument
|
|
602
|
+
* shape. The server returns each row as a flat key/value object that
|
|
603
|
+
* includes `__key` (the document key), any user-loaded fields, and the
|
|
604
|
+
* score aliases configured on the query.
|
|
605
|
+
*/
|
|
606
|
+
mapHybridRow(row, combinedScoreAlias) {
|
|
607
|
+
const id = (row['__key'] ?? '');
|
|
608
|
+
const rawScore = row[combinedScoreAlias] ?? row['__combined_score'] ?? row['__score'];
|
|
609
|
+
const score = typeof rawScore === 'string' ? parseFloat(rawScore) : rawScore;
|
|
610
|
+
const value = {};
|
|
611
|
+
const scoreKeys = new Set(['__key', combinedScoreAlias, '__combined_score', '__score']);
|
|
612
|
+
for (const [key, val] of Object.entries(row)) {
|
|
613
|
+
if (scoreKeys.has(key))
|
|
614
|
+
continue;
|
|
615
|
+
value[key] = val;
|
|
616
|
+
}
|
|
617
|
+
return { id, value: value, score };
|
|
618
|
+
}
|
|
474
619
|
}
|
|
475
620
|
//# sourceMappingURL=search-index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-index.js","sourceRoot":"","sources":["../../src/indexes/search-index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"search-index.js","sourceRoot":"","sources":["../../src/indexes/search-index.ts"],"names":[],"mappings":"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"}
|