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.
Files changed (82) hide show
  1. package/THIRD_PARTY_NOTICES.md +61 -0
  2. package/dist/index.d.ts +17 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +9 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/indexes/search-index.d.ts +68 -4
  7. package/dist/indexes/search-index.d.ts.map +1 -1
  8. package/dist/indexes/search-index.js +151 -6
  9. package/dist/indexes/search-index.js.map +1 -1
  10. package/dist/query/aggregation.d.ts +227 -0
  11. package/dist/query/aggregation.d.ts.map +1 -0
  12. package/dist/query/aggregation.js +392 -0
  13. package/dist/query/aggregation.js.map +1 -0
  14. package/dist/query/base.d.ts +26 -0
  15. package/dist/query/base.d.ts.map +1 -1
  16. package/dist/query/base.js +9 -1
  17. package/dist/query/base.js.map +1 -1
  18. package/dist/query/count.d.ts +32 -0
  19. package/dist/query/count.d.ts.map +1 -0
  20. package/dist/query/count.js +31 -0
  21. package/dist/query/count.js.map +1 -0
  22. package/dist/query/filter-query.d.ts +42 -0
  23. package/dist/query/filter-query.d.ts.map +1 -0
  24. package/dist/query/filter-query.js +37 -0
  25. package/dist/query/filter-query.js.map +1 -0
  26. package/dist/query/filter.d.ts +116 -0
  27. package/dist/query/filter.d.ts.map +1 -0
  28. package/dist/query/filter.js +289 -0
  29. package/dist/query/filter.js.map +1 -0
  30. package/dist/query/hybrid.d.ts +198 -0
  31. package/dist/query/hybrid.d.ts.map +1 -0
  32. package/dist/query/hybrid.js +331 -0
  33. package/dist/query/hybrid.js.map +1 -0
  34. package/dist/query/index.d.ts +7 -0
  35. package/dist/query/index.d.ts.map +1 -1
  36. package/dist/query/index.js +7 -0
  37. package/dist/query/index.js.map +1 -1
  38. package/dist/query/range.d.ts +81 -0
  39. package/dist/query/range.d.ts.map +1 -0
  40. package/dist/query/range.js +106 -0
  41. package/dist/query/range.js.map +1 -0
  42. package/dist/query/text.d.ts +82 -0
  43. package/dist/query/text.d.ts.map +1 -0
  44. package/dist/query/text.js +86 -0
  45. package/dist/query/text.js.map +1 -0
  46. package/dist/query/vector.d.ts +10 -12
  47. package/dist/query/vector.d.ts.map +1 -1
  48. package/dist/query/vector.js +17 -27
  49. package/dist/query/vector.js.map +1 -1
  50. package/dist/redis/client-types.d.ts +30 -0
  51. package/dist/redis/client-types.d.ts.map +1 -0
  52. package/dist/redis/client-types.js +15 -0
  53. package/dist/redis/client-types.js.map +1 -0
  54. package/dist/redis/protocol.d.ts +34 -0
  55. package/dist/redis/protocol.d.ts.map +1 -0
  56. package/dist/redis/protocol.js +47 -0
  57. package/dist/redis/protocol.js.map +1 -0
  58. package/dist/storage/base-storage.d.ts +2 -1
  59. package/dist/storage/base-storage.d.ts.map +1 -1
  60. package/dist/storage/base-storage.js +20 -3
  61. package/dist/storage/base-storage.js.map +1 -1
  62. package/dist/utils/stopwords/english.d.ts +18 -0
  63. package/dist/utils/stopwords/english.d.ts.map +1 -0
  64. package/dist/utils/stopwords/english.js +217 -0
  65. package/dist/utils/stopwords/english.js.map +1 -0
  66. package/dist/utils/stopwords/index.d.ts +14 -0
  67. package/dist/utils/stopwords/index.d.ts.map +1 -0
  68. package/dist/utils/stopwords/index.js +13 -0
  69. package/dist/utils/stopwords/index.js.map +1 -0
  70. package/dist/utils/stopwords/registry.d.ts +7 -0
  71. package/dist/utils/stopwords/registry.d.ts.map +1 -0
  72. package/dist/utils/stopwords/registry.js +10 -0
  73. package/dist/utils/stopwords/registry.js.map +1 -0
  74. package/dist/utils/stopwords/resolve.d.ts +28 -0
  75. package/dist/utils/stopwords/resolve.d.ts.map +1 -0
  76. package/dist/utils/stopwords/resolve.js +46 -0
  77. package/dist/utils/stopwords/resolve.js.map +1 -0
  78. package/dist/utils/token-escaper.d.ts +20 -0
  79. package/dist/utils/token-escaper.d.ts.map +1 -0
  80. package/dist/utils/token-escaper.js +28 -0
  81. package/dist/utils/token-escaper.js.map +1 -0
  82. 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 type { BaseQuery, SearchResult, SearchDocument, QueryOptions } from './query/base.js';
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
@@ -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,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG7F,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"}
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;AAIhD,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"}
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 { RedisClientType, RedisClusterType } from 'redis';
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: RedisClientType | RedisClusterType, validateOnLoad?: boolean);
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: RedisClientType | RedisClusterType, validateOnLoad?: boolean): Promise<SearchIndex>;
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":"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"}
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
- // Fetch index info from Redis
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
- return query instanceof VectorQuery ? query.scoreAlias : null;
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) || !query.normalizeDistance) {
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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"}