RediSearch 2.10 现已正式发布。最新的 RediSearch 主要版本引入了内存效率高的向量数据类型、增强的索引功能(支持空字段和缺失字段)、简化的查询语法以及扩展的地理空间搜索功能。
具体包括,引入了新的BFLOAT16
和FLOAT16
向量数据类型,在保持准确性的同时减少了向量所消耗的内存。以及包括了索引空值和缺失值的支持的支持,并增强了开发人员对具有精确匹配功能的查询的体验。
开发人员现在可以匹配TAG
字段,而无需转义特殊字符,从而简化了入门流程和查询语法的使用。最后,地理空间搜索功能通过新的INTERSECT
和DISJOINT
运算符得到了扩展。
Features
-
使用更简单的语法
'@tag:{"my-query%term"}'
和NUMERIC
查询来增强TAG
精确匹配查询,避免转义特殊含义的字符:- #4802 - 在
DIALECT 2
中使用双引号括起完全匹配的查询词,例如@email:{"test@redis.com"}
(MOD-7299) - #4676、#4433 - 增强查询解析器以避免不必要的转义(MOD-5756)
- #4527 - 增强使用单一值
FT.SEARCH idx @numeric:[3456]
对NUMERIC
的精确匹配查询 (MOD-6623) - #4802 - 启用
NUMERIC
查询对 single operators 的支持
- #4802 - 在
-
添加新关键字,以支持在使用
FT.CREATE
定义索引时,使用INDEXEMPTY
和INDEXMISSING
对SCHEMA
中的每个字段的空值和缺失值建立索引- #4663、#4721 - 为
TAG
和TEXT
字段索引空字符串值""
(MOD-6540、MOD-7200) - #4721 - 更新查询解析器,使
TEXT
asFT.SEARCH idx '@text_field:""'
或FT.SEARCH idx '""'
和TAG
as inFT.SEARCH idx '@tag_field:{""}'
支持空值查询。(MOD-7200) - #4720、#4635 - 为所有字段类型索引缺失值,引入查询语法函数
ismissing(@field)
,允许查询缺失字段,如FT.SEARCH idx 'ismissing(@text)'
(MOD-6532)
- #4663、#4721 - 为
-
启用新的向量数据类型,通过新的
BFLOAT16
和FLOAT16
减少向量所消耗的内存- #4674 -在向量索引定义中添加
BFLOAT16
和FLOAT16
支持(MOD-6765、MOD-6776)
- #4674 -在向量索引定义中添加
-
在 aggregation pipeline 中使用
ADDSCORE
公开 full-text score values。调用分数时,可以在管道中使用@__score
,如下所示FT.AGGREGATE idx 'hello' ADDSCORES SORTBY 2 @__score DESC
- #4859 - Expose scores to FT.AGGREGATE pipeline(MOD-7190)
-
#4227 - 在查询
GEOSHAPE
polygons 时添加对新运算符INTERSECT
和DISJOINT
的支持(MOD-6178)
更多详情可查看发布说明:https://github.com/RediSearch/RediSearch/releases/tag/v2.10.5