1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-06 02:15:48 +03:00
Commit Graph

42 Commits

Author SHA1 Message Date
Bobby I.
69d507a572 refactor!: redis 8 compatibility improvements and test infrastructure updates (#2893)
* churn(test): use redislabs/client-libs-test for testing

This  switches our testing infrastructure from redis/redis-stack to
redislabs/client-libs-test Docker image across all packages. This change
also updates the default Docker version from 7.4.0-v1 to 8.0-M04-pre.

* churn(test): verify CONFIG SET / GET compatibility with Redis 8

- Add tests for Redis 8 search configuration settings
- Deprecate Redis Search CONFIG commands in favor of standard CONFIG
- Test read-only config restrictions for Redis 8

* churn(test): handle Redis 8 coordinate precision in GEOPOS

- Update GEOPOS tests to handle increased precision in Redis 8 (17 decimal places vs 14)
- Add precision-aware coordinate comparison helper
- Add comprehensive test suite for coordinate comparison function

* test(search): adapt SUGGET tests for Redis 8 empty results

- Update tests to expect empty array ([]) instead of null for SUGGET variants
- Affects sugGet, sugGetWithPayloads, sugGetWithScores, and sugGetWithScoresWithPayloads

* test(search): support Redis 8 INFO indexes_all field

- Add indexes_all field introduced in Redis 8 to index definition test

* refactor!(search): simplify PROFILE commands to return raw response

- BREAKING CHANGE: FT.PROFILE now returns raw response, letting users implement their own parsing

* test: improve version-specific test coverage

- Add `testWithClientIfVersionWithinRange` method to run tests for specific Redis versions
- Refactor TestUtils to handle version comparisons more accurately
- Update test utilities across Redis modules to run tests against multiple versions, and not against latest only
2025-02-27 10:56:58 +02:00
Hristo Temelski
1af01373db feat(search): Set default dialect to 2 for Redis Search commands (#2895)
- The default dialect `DEFAULT_DIALECT`  is now set to '2'
- Automatically append DIALECT parameter to search commands when not explicitly specified
2025-02-17 13:47:12 +02:00
Leibale Eidelman
b835309cf8 fix cross packages imports 2024-11-04 12:21:17 -05:00
Shaya Potter
4708736f3b new "transform arguments" API for better key and metadata extraction (#2733)
* Parser support with all commands

* remove "dist" from all imports for consistency

* address most of my review comments

* small tweak to multi type mapping handling

* tweak multi commands / fix addScript cases

* nits

* addressed all in person review comments

* revert addCommand/addScript changes to multi-commands

addCommand needs to be there for sendCommand like ability within a multi.

If its there, it might as well be used by createCommand() et al, to avoid repeating code.

addScript is there (even though only used once), but now made private to keep the logic for bookkeeping near each other.
2024-10-31 12:16:59 -04:00
Shaya Potter
b2d35c5286 V5 bringing RESP3, Sentinel and TypeMapping to node-redis
RESP3 Support
   - Some commands responses in RESP3 aren't stable yet and therefore return an "untyped" ReplyUnion.
 
Sentinel

TypeMapping

Correctly types Multi commands

Note: some API changes to be further documented in v4-to-v5.md
2024-10-15 17:46:52 +03:00
Shaya Potter
840ec57fb9 small refactor per discussion with leibele (#2801)
* small refactor per discussion with leibele

* move true type to boolean type

* fix geoshape to support NOINDEX & SORTABLE, clean code

* fix for last commit

---------

Co-authored-by: Leibale Eidelman <me@leibale.com>
2024-07-29 09:27:53 -04:00
Shaya Potter
54b3e178f9 add addscores to aggregate search command (#2799)
* add addscores to aggregate search command

* change `true` to `boolean`

---------

Co-authored-by: Leibale Eidelman <me@leibale.com>
2024-07-29 09:22:38 -04:00
Shaya Potter
0e7e2e6e29 add missing fields support to schema (v4) (#2789) 2024-07-17 11:36:45 +03:00
Shaya Potter
a1bee1caaf add geoshape support (#2788)
copied from what leibele did for v5
2024-07-10 19:45:17 +03:00
Brett Burch
a217cc1a88 Add support for FT.SEARCH NOCONTENT (#2610)
* Add support for NOCONTENT in FT.SEARCH

* Move support for NOCONTENT search option from client.search to client.searchNoContent

* Add test for SEARCH_NOCONTENT#transformReply

* Fix typo

* Enable test

* Update test field type

---------

Co-authored-by: Leibale <me@leibale.com>
2023-09-18 18:33:17 -04:00
fast-facts
85091cde5a Add count option to FT.CURSOR READ (#2492)
* feat: Add count option to FT.CURSOR READ

* Update CURSOR_READ.spec.ts

---------

Co-authored-by: Leibale Eidelman <me@leibale.com>
2023-05-21 08:08:27 -04:00
Nanak
8d37c115e6 Add support for TIMEOUT in FT.AGGREGATE and FT.SEARCH (#2488)
* #2486: add timeout as optional param in FT.Search

* return timeout from aggregate

* add test case for TIMEOUT in aggregate

* add TIMEOUT option in search file

* add test cases for TIMEOUT option in search file

* uodate search/aggregates to add timeout when it is not undefuned

* update search to add timeout when it is not undefuned

* update test case for AGGREGATE
2023-05-21 08:01:17 -04:00
Leibale Eidelman
d65a641b2d revert 1d8302c9db 2023-03-17 09:52:30 -04:00
Carl Hopf
1d8302c9db FT.CREATE - set FIRST_KEY_INDEX to 1 (#2440) 2023-03-14 12:37:13 -04:00
Leibale Eidelman
26e057ebf9 fix FT.SEARCH RETURN [] (#2421)
* ref #2419 - fix FT.SEARCH RETURN []

* fix transformReply

* fix PROFILE SEARCH as well

* fix PROFILE SEARCH preserve

* move preserve login to `pushSearchOptions`

* attach preserve only if true

* fix RETURN: [] test
2023-02-24 17:33:33 -05:00
Leibale Eidelman
a1dfa22517 fix #2364 - fix FT.SEARCH RETURN [] (#2366)
* fix #2364 - fix FT.SEARCH RETURN []

* remove console.log
2023-01-18 12:54:42 -05:00
Leibale Eidelman
ce1b8f7f4e ref #1982 - fix redisearch schema types (#2348) 2022-12-14 17:11:28 -05:00
Vladimir Chuprazov
ab69c81c36 fix(search): fix types for sort (#2343) 2022-12-14 17:03:30 -05:00
Leibale Eidelman
1fdee05dd2 close #2166 - add support for cursor api (#2217) 2022-08-15 08:40:03 -04:00
Leibale Eidelman
60ad6aab0b close #2210 - add support for FT.CREATE WITHSUFFIXTRIE (#2212) 2022-07-28 13:29:57 -04:00
Leibale Eidelman
0752f143a6 prepare 4.1.0 (#2111)
* increase test coverage

* @node-redis to @redis

* ugprade deps

* fix benchmark

* use 7.0 docker (not rc), update readmes, clean code, fix @-redis import

* update readme

* fix function in cluster

* update docs

Co-authored-by: Chayim <chayim@users.noreply.github.com>

* Update clustering.md

* add subpackages move warning

* drop support for node 12

* upgrade deps

* fix tsconfig.base.json

Co-authored-by: Chayim <chayim@users.noreply.github.com>
2022-05-02 11:48:12 -04:00
Leibale Eidelman
4d1a86543b remove console.log (#2083) 2022-04-18 12:28:36 -04:00
Leibale Eidelman
d8e9da0f8e support for buffers in redisearch params (#2073) 2022-04-06 05:33:50 -04:00
Leibale Eidelman
0f65690e85 Remove console.log (#2068) 2022-04-03 10:11:22 -04:00
Avital Fine
4683e969b8 Support Vector Similarity (#1785)
* ft.alter

* support paramas

* remove only and skip

* merge

* fix imports

* add Vector field

* update version

* push attributes

* typo

* test

* version check

* remove .only

* remove unued import

* add support for DIALECT

* clean code

Co-authored-by: Avital-Fine <avital.fine@redis.com>
Co-authored-by: leibale <leibale1998@gmail.com>
2022-03-31 07:13:06 -04:00
Simon Prickett
f738ac56b3 Fixed what I think are a couple of typos -> SORTBT -> SORTBY. (#1987)
* Fixed what I think are a couple of typos -> `SORTBT` -> `SORTBY`.

Fixed what I think are a couple of typos -> `SORTBT` -> `SORTBY`.

* Update index.spec.ts

Co-authored-by: Leibale Eidelman <leibale1998@gmail.com>
2022-02-15 16:09:23 -05:00
Leibale Eidelman
9e904eb862 fix #1891 - fix ft.create type (#1901) 2022-02-14 15:06:05 -05:00
Leibale Eidelman
e265c521e8 export RediSearchSchema type (#1825)
* export RediSearchSchema type

* export SearchOptions and SearchReply
2022-02-07 15:28:09 -05:00
Leibale Eidelman
3547b20293 Graph (#1887)
* init

* implement graph commands

* add graph to packages table

* fix ts.infoDebug

* fix redisearch tests

* Update INFO_DEBUG.ts

* fix INFO.spec.ts

* test QUERY and SLOWLOG

Co-authored-by: Avital-Fine <avital.fine@redis.com>
2022-01-31 12:52:19 -05:00
Leibale Eidelman
cf6d653037 fix RediSearch SEPARATOR typo (#1824) 2022-01-12 08:41:01 -05:00
Nathan Němec
4859aa722d SEPARATOR typo fix (#1823)
* SEPARATOR typo fix

* SEPARATOR typo fix
2022-01-12 08:16:47 -05:00
leibale
a0de7967f9 buffers, buffers everywhere... 2021-12-20 14:47:51 -05:00
leibale
a1bed9a10f add buffer support to a bunch of commands 2021-12-15 17:08:50 -05:00
leibale
c0db4226e7 remove unused import 2021-12-13 15:56:42 -05:00
Avital Fine
01e66e7c8f Search commands (#1778)
* ft.alter

* ft.profile
2021-12-13 16:28:04 +01:00
leibale
cba0289ff7 fix FT.SEARCH 2021-11-30 21:34:37 -05:00
leibale
70872d8839 fix for a45311416d - fix FT.SEARCH 2021-11-30 21:28:04 -05:00
leibale
a45311416d fix for 592714fb00 - "fix tests" 2021-11-30 19:21:02 -05:00
leibale
592714fb00 fix #1749 - FT.SEARCH SORTBY 2021-11-30 19:10:06 -05:00
leibale
0cabe71cf8 replace @redis with @node-redis 2021-11-16 02:35:24 -05:00
leibale
ab339d396a fix #1714 - update README(s) 2021-11-09 18:07:26 -05:00
leibale
3eb99dbe83 use dockers for tests, use npm workspaces, add rejson & redisearch modules, fix some bugs 2021-11-08 19:21:15 -05:00