RediSearch 2.10 release notes
New vector data types. Enhanced indexing capabilities. Simplified query syntax. Expanded geospatial search.
Requirements
RediSearch v2.10.5 requires:
- Minimum Redis compatibility version (database): 7.4
- Minimum Redis Enterprise Software version (cluster): 7.6 (TBD)
v2.10 GA (v2.10.5) (July 2024)
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 for 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 easier. 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 and exposing the full-text scoring in an aggregation pipeline.
Features:
-
Enhancing exact matching queries with
TAGavoiding escaping special meaning characters using the simpler syntax'@tag:{"my-query%term"}'andNUMERICqueries:- #4802 - Using double quotes to wrap 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
NUMERICusing single valueFT.SEARCH idx @numeric:[3456](MOD-6623) - #4802 - Enabling support for single operators in
NUMERICqueries 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 exact matching query terms such as
-
Adding new keywords to support indexing empty values using
INDEXEMPTYand missing values usingINDEXMISSINGper field in theSCHEMAwhile defining the index withFT.CREATE- #4663, #4721 - Indexing empty strings values
""forTAGandTEXTfields (MOD-6540, MOD-7200) - #4721 - Updating the query parser to support empty value queries for
TEXTasFT.SEARCH idx '@text_field:""'orFT.SEARCH idx '""'and forTAGas 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
BFLOAT16andFLOAT16- #4674 - Adding support
BFLOAT16andFLOAT16in the vector index definition (MOD-6765, MOD-6776)
- #4674 - Adding support
-
Exposing the full-text score values during the aggregation pipeline using
ADDSCORE. When calling the scores you can use@__scorein the pipeline as inFT.AGGREGATE idx 'hello' ADDSCORES SORTBY 2 @__score DESC- #4859 - Expose scores to
FT.AGGREGATEpipeline (MOD-7190)
- #4859 - Expose scores to
-
#4227 - Adding support for new operators
INTERSECTandDISJOINTwhen querying forGEOSHAPEpolygons (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 when indexing missing fields (MOD-7415)
- 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 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)