Releases: RediSearch/RediSearch
v2.8.16
This is a maintenance release for RediSearch 2.8
Update urgency: HIGH
: There is a critical bug that may affect a subset of users. Upgrade!
Bug fixes:
#4896 - FT.AGGREGATE
with VERBATIM
option is not handled by the shards in cluster mode (MOD-7463)
#4917 - Union query, similar to "is|the"
, starting with 2 stopwords could cause a crash (MOD-7495)
#4921 - Counting twice the field statistics at #search
section of INFO
response (MOD-7339)
#4939 - Query warning when using RESP3 response for reaching MAXPREFIXEXPANSION
(MOD-7588)
#4930 - Loop when using the wildcard w'term'
and preffix/infix/suffix pattern 'ter*'
leading shard to restart (MOD-7453)
#4912 - Avoid stemming expansion when querying for numeric values (MOD-7025)
v2.10.6
This is a maintenance release for RediSearch 2.10
Update urgency: HIGH
- There is a critical bug that may affect a subset of users. Upgrade!
Bug fixes:
#4916 - Union query, similar to "is|the"
, starting with 2 stopwords could cause a crash (MOD-7495)
#4895 - FT.AGGREGATE
with VERBATIM
option is not handled by the shards in cluster mode (MOD-7463)
#4922 - Counting twice the field statistics at #search
section of INFO
response (MOD-7339)
v2.8.15
This is a maintenance release for RediSearch 2.8
Update urgency: HIGH
: There is a critical bug that may affect a subset of users. Upgrade!
Bug fixes:
#4754 - Correct return the maximum value for negative values when using MAX
reducer (MOD-7252)
#4737 - Separators ignored when escaping backslash \
after the escaped character such as in hello\\,world
ignoring ,
(MOD-7240)
#4717 - Sorting by multiple fields SORTBY 2 @field1 @field2
was ignoring the subsequent field(MOD-7206)
#4803 - Keys expiring during query returning empty array (MOD-7010)
#4794 - Index sanitiser (GC) trying to clean deleted numeric index could cause a crash (MOD-7303)
Improvements:
#4792 - Add character validations to simple string replies and escape it when required(MOD-7258)
#4768 - Indicate which value is missing on the error message at the aggregation pipeline (MOD-7201)
#4745 - GROUPBY
recursion cleanup (MOD-7245)
#4823 - Mechanism of keys expiration during the query execution clearing intermediate results
v2.6.20
This is a maintenance release for RediSearch 2.6
Update urgency: MODERATE
: Program an upgrade of the server, but it's not urgent.
Bug fixes:
#4755 - Correct return the maximum value for negative values when using MAX
reducer (MOD-7252)
#4733 - Separators ignored when escaping backslash \
after the escaped character such as in hello\\,world
ignoring ,
(MOD-7240)
#4717 - Sorting by multiple fields as in SORTBY 2 @field1 @field2
was ignoring the subsequent field (MOD-7206)
Improvements:
#4793 - Add character validations to simple string replies and escape it when required(MOD-7258)
#4769 - Indicate which value is missing on the error message at the aggregation pipeline (MOD-7201)
#4746 - GROUPBY
recursion cleanup (MOD-7245)
2.10 GA (v.2.10.5)
This is the General Availability release of RediSearch 2.10
Headlines:
This latest RediSearch introduces memory-efficient vector data types, enhanced indexing capabilities with support to empty and missing fields, simplified query syntax, and expanded geospatial search features
What's new in 2.10.5
This new major version introduces new BFLOAT16
and FLOAT16
vector data types, reducing memory consumed by vectors while preserving accuracy. This update also includes highly requested support for indexing empty and missing values and enhances the developer experience for queries with exact matching capabilities. Developers can now match TAG
fields without needing to escape special characters, making the onboarding process and use of the query syntax simpler. Lastly, Geospatial search capabilities have been expanded with new INTERSECT
and DISJOINT
operators, a new way to expose and apply full-text scores in the aggregation pipeline as custom function and ergonomics have been improved by providing better reporting of the memory consumed by the index.
Features:
-
Enhancing exact matching queries with
TAG
avoiding escaping special meaning characters using the simpler syntax'@tag:{"my-query%term"}'
andNUMERIC
queries:- #4802 Using double quotes to wrap you exact matching query terms such as
@email:{"test@redis.com"}
inDIALECT 2
( MOD-7299) - #4676, #4433 Enhancing query parser to avoid unnecessary escaping (MOD-5756)
- #4527 Enhancing exact matching queries for
NUMERIC
using single valueFT.SEARCH idx @numeric:[3456]
(MOD-6623) - #4802 Enabling support to single operators for
NUMERIC
queries such as equivalence==
, difference!=
, greater than>
and>=
and less than<
and<=
as inFT.SEARCH idx '@numeric==3456'
(MOD-6749)
- #4802 Using double quotes to wrap you exact matching query terms such as
-
Adding new keywords to support indexing empty values using
INDEXEMPTY
and missing values usingINDEXMISSING
per field in theSCHEMA
while defining the index withFT.CREATE
- #4663, #4721 Indexing empty strings values
""
forTAG
andTEXT
fields (MOD-6540, MOD-7200) - #4721 Updating the query parser to support empty values query for
TEXT
asFT.SEARCH idx '@text_field:""'
orFT.SEARCH idx '""'
and forTAG
as inFT.SEARCH idx '@tag_field:{""}'
(MOD-7200) - #4720, #4635 Indexing missing values for all field types introducing the query syntax function
ismissing(@field)
enabling query for missing fields as inFT.SEARCH idx 'ismissing(@text)'
(MOD-6532)
- #4663, #4721 Indexing empty strings values
-
Enabling new vector data types reducing memory consumed by vectors with the new
BFLOAT16
andFLOAT16
- #4674 Adding support
BFLOAT16
andFLOAT16
in the vector index definition (MOD-6765, MOD-6776)
- #4674 Adding support
-
Exposing the full-text score values during the aggregation pipeline using
ADDSCORES
. When calling the scores you can use@__score
in the pipeline as inFT.AGGREGATE idx 'hello' ADDSCORES SORTBY 2 @__score DESC
- #4859 Expose scores to
FT.AGGREGATE
pipeline (MOD-7190)
- #4859 Expose scores to
-
#4227 Adding support for new operators
INTERSECT
andDISJOINT
when querying forGEOSHAPE
polygons (MOD-6178)
Bug fixes (since 2.10.4):
- #4854 Avoid expansion on stemming from numeric values (MOD-7025)
Improvements (since 2.10.4):
- #4865 Add coverage for cleaning garbage entries at indexing missing fields (MOD-7415)
Notes:
- The version inside Redis will be 2.10.5 in semantic versioning. Since the version of a module in Redis is numeric, we could not add a GA flag.
- Minimal Redis version: 7.4
- If indexing and querying RedisJSON data structures, this version is best combined with RedisJSON 2.8 (v2.8.3 onwards)
2.10-RC2 (v2.10.4)
This is the second Release Candidate of RediSearch 2.10.
Highlights
This new major version introduces new BFLOAT16
and FLOAT16
vector data types, reducing memory consumed by vectors while preserving accuracy. This update also includes highly requested support for indexing empty and missing values and enhances the developer experience for queries with exact matching capabilities. Developers can now match TAG
fields without needing to escape special characters, making the onboarding process and use of the query syntax simpler. Lastly, Geospatial search capabilities have been expanded with new INTERSECT
and DISJOINT
operators, and ergonomics have been improved by providing better reporting of the memory consumed by the index.
Details
Features:
-
Enhancing exact matching queries with
TAG
avoiding escaping special meaning characters using the simpler syntax'@tag:{"my-query%term"}'
andNUMERIC
queries:- #4802 Using double quotes to wrap you exact matching query terms such as
@email:{"test@redis.com"}
inDIALECT 2
( MOD-7299) - #4676, #4433 Enhancing query parser to avoid unnecessary escaping (MOD-5756)
- #4527 Enhancing exact matching queries for
NUMERIC
using single valueFT.SEARCH idx @numeric:[3456]
(MOD-6623) - #4802 Enabling support to single operators for
NUMERIC
queries such as equivalence==
, difference!=
, greater than>
and>=
and less than<
and<=
as inFT.SEARCH idx '@numeric==3456'
(MOD-6749)
- #4802 Using double quotes to wrap you exact matching query terms such as
-
Adding new keywords to support indexing empty values using
INDEXEMPTY
and missing values usingINDEXMISSING
per field in theSCHEMA
while defining the index withFT.CREATE
- #4663, #4721 Indexing empty strings values
""
forTAG
andTEXT
fields (MOD-6540, MOD-7200) - #4721 Updating the query parser to support empty values query for
TEXT
asFT.SEARCH idx '@text_field:""'
orFT.SEARCH idx '""'
and forTAG
as inFT.SEARCH idx '@tag_field:{""}'
(MOD-7200) - #4720, #4635 Indexing missing values for all field types introducing the query syntax function
ismissing(@field)
enabling query for missing fields as inFT.SEARCH idx 'ismissing(@text)'
(MOD-6532)
- #4663, #4721 Indexing empty strings values
-
Enabling new vector data types reducing memory consumed by vectors with the new
BFLOAT16
andFLOAT16
- #4674 Adding support
BFLOAT16
andFLOAT16
in the vector index definition (MOD-6765, MOD-6776)
- #4674 Adding support
-
#4227 Adding support for new operators
INTERSECT
andDISJOINT
when querying forGEOSHAPE
polygons (MOD-6178)
Bug fixes (since 2.10.3):
- #4804 Return
null
value when key expires during query execution ifSORTABLE
is used (MOD-7010, MOD-7258) - #4727 Signed PARAMS such as
@numeric:[-$param inf] PARAMS 2 param 100
syntax not evaluated correctly (MOD-7122) - #4732 Token separator such as
,
ignored if escaping the previous character as in'hello\\\,world'
(MOD-7240) - #4756 Miscoparison when using aggregation reducer
MAX
and negative numbers (MOD-7252)
Improvements (since 2.10.3):
- #4805 Add empty indexing validation enhancing error messages (MOD-7307)
- #4791 Support empty string in fuzzy matching search (MOD-7241)
- #4750 Enabling empty string parsing (MOD-7212)
- #4822 Adding support to Hash field expiration in the query engine handling field expiring notifications (MOD-7176)
- #4767 Adding support to missing values in the Aggregation pipeline and enhancing error message (MOD-7201)
- #4731 Adding error message upon
NOINDEX
andINDEXMISSING
options for field creation (MOD-7203) - #4790 Misuse from simple string reply type in RESP improving to bulk string reply when needed (MOD-7258)
Notes:
- The version inside Redis will be 2.10.4 in semantic versioning. Since the version of a module in Redis is numeric, we could not add a Release Candidate flag.
Minimal Redis version: 7.4
If indexing and querying RedisJSON data structures, this version is best combined with RedisJSON 2.8 (v2.8.2 onwards)
2.10-RC1 (v2.10.3)
This is the first Release Candidate of RediSearch 2.10.
Highlights
The latest search and query capability introduces new bfloat16
and float16
vector data types, reducing memory consumption for vectors while maintaining accuracy. This update also includes highly requested support for indexing empty and missing values, as well as enhanced exact-matching queries.
Developers can now match TAG terms without needing to escape special characters, making the onboarding process and use of the query syntax more intuitive and enjoyable.
Lastly, Geospatial search capabilities have been expanded with new INTERSECT
and DISJOINT
operators, and ergonomics have been improved by providing better reporting of the memory consumed by the index.
Features:
- #4663 #4721 Support EMPTY indexing for TEXT fields (MOD-6540 MOD-7200)
- #4674 Support BF16 and FP16 (MOD-6765, MOD-6776)
- #4676 #4433 Modify FT.SEARCH to avoid unnecessary escaping (MOD-5756)
- #4720 Support indexing of missing values (MOD-6532)
Bug fixes:
- #4648 Send del command to replicas (MOD-1855)
- #4639 Lexer consumes some punctuation characters (MOD-6933 MOD-6750 MOD-6749)
- #4662 Fix geoshape stat (MOD-6846)
- #4653 value's mempool cleanup (MOD-7132)
- #4668 #4218 Fix inverted index memory counting (MOD-5977 MOD-5866)
- #4700 Fix GEOSHAPE DISJOINT for intersecting MBRs (MOD-7126)
Improvements:
- #4686 add missing ft.info fields when used inside of a cluster (MOD-6920)
- #4693 Fix ft.info ordering in the coordinator environment (MOD-7021)
- #4697 replace semaphore with wait in jobq (MOD-6572)
- #4703 Fix privileged mechanism (MOD-6838)
- #4713 Privilege cleanup (MOD-7187)
Notes:
- The version inside Redis will be 2.10.3 in semantic versioning. Since the version of a module in Redis is numeric, we could not add a Release Candidate flag.
Minimal Redis version: 7.4
If indexing and querying RedisJSON data structures, this version is best combined with RedisJSON 2.8 (v2.8.2 onwards)
Known issues:
- Using RediSearch with Hash field expiration is not supported in this version. Expected to be supported in the 2.10 GA release.
v2.6.19
This is a maintenance release for RediSearch 2.6
Update urgency: MODERATE
: Program an upgrade of the server, but it's not urgent.
Bug fixes:
#4616 - Shards become unresponsive when using FT.AGGREGATE
with APPLY 'split(...)'
(MOD-6759)
#4557 - FT.EXPLAIN
returns additional }
when querying using wildcards (MOD-6768)
#4647 - FT.DROPINDEX
with DD
flag deleted keys in one AA cluster but not the others (MOD-1855)
Improvements:
#4599 - Report additional memory consumed by the TAG
and TEXT
tries (MOD-5902)
#4688 - Add missing FT.INFO
fields when used within a cluster (MOD-6920)
v2.8.14
This is a maintenance release for RediSearch 2.8
Update urgency: MODERATE
: Program an upgrade of the server, but it's not urgent.
Bug fixes:
#4614 - Shards become unresponsive when using FT.AGGREGATE
with APPLY 'split(...)'
(MOD-6759)
#4556 - FT.EXPLAIN
returns additional }
when querying using wildcards (MOD-6768)
#4646 - FT.DROPINDEX
with DD
flag deleted keys in one AA cluster but not the others (MOD-1855)
Improvements:
#4595 - Report memory of the TAG
and TEXT
tries (MOD-5902)
#4669 - Inverted index memory counting (MOD-5977,MOD-5866)
#4687 - Add missing FT.INFO
fields when used within a cluster (MOD-6920)