RediSearch 2.0 GA 发布,高性能全文搜索引擎

2020年09月21日

RediSearch 2.0.0 的 GA 版本现已发布,此版本在 RediSearch 1.0 的性能和可用性上进行了多项改进。这些改进需要对 API 进行一些向后的更改。具体更新内容如下:

Highlights

此版本改变了搜索索引与数据保持同步的方式。在 RediSearch 1.x 中,用户必须使用 FT.ADD 命令手动添加数据到索引中。在 RediSearch 2.x 中,用户的数据会根据键模式自动建立索引。

这些变化旨在提高开发人员的工作效率,并确保用户的搜索索引始终与其数据保持同步。为了支持这一点,开发团队对 API 做了一些改动。

除了简化索引之外,RediSearch 2.0 还允许用户使用 Redis cluster API 在多个 Redis shards 上扩展单个索引。

最后,RediSearch 2.x 将其索引保留在 main Redis key space 之外。官方表示,其对索引代码的改进使查询性能提高了 2.4 倍。

Details

  • 创建索引时,必须指定前缀条件和/或过滤器。这决定了 RediSearch 将为哪些 hash 建立索引。
  • 现在,有几个 RediSearch 命令可以映射到它们的 Redis  equivalents:FT.ADD-> HSETFT.DEL-> DEL(相当于 RediSearch 1.x 中带有 DD 标志的FT.DEL)、FT.GET-> HGETALLFT.MGET-> HGETALL
  • RediSearch 索引不再驻留在 key space 中,并且索引不再保存到 RDB 中。
  • 用户可以从 RediSearch 1.x 升级到 RediSearch2.x

Noteworthy changes

  • #1246 适用于 FT.AGGREGATE APPLY 操作的 geodistance 函数。
  • #1394:过期的文档(TTL)将从索引中删除。
  • #1394: 进行优化,以避免在更新非索引字段时重新索引文件。
  • #1384FT.DROPINDEX,默认情况下不会删除该索引下的文档(请参见已弃用的FT.DROP)。
  • #1385:在FT.INFOresponse 中添加索引定义。
  • #1097:添加 Hindi snowball stemmer。
  • RediSearch 2.x 需要 Redis 6.0 或更高版本。
  • ......

更多详细内容可查看:https://github.com/RediSearch/RediSearch/releases/tag/v2.0.0

展开阅读全文
24 收藏
分享
加载中
精彩评论
Redis本身算法复杂度不是都很低?键的定位不都是先算出hash,然后就定位到是集群中的哪台服务器,通过gossip,pingpong跳转机器,就可以获取内容了?为什么还要rediSearch,没看出有什么用?
2020-09-21 08:55
2
举报
最新评论 (5)
这是个什么啊?
2020-09-21 13:27
0
回复
举报
哈?还有这???
2020-09-21 09:44
0
回复
举报
Redis本身算法复杂度不是都很低?键的定位不都是先算出hash,然后就定位到是集群中的哪台服务器,通过gossip,pingpong跳转机器,就可以获取内容了?为什么还要rediSearch,没看出有什么用?
2020-09-21 08:55
2
回复
举报
简单理解,redisearch就好比elasticsearch,原生的redis没办法做全文搜索引擎,这个就可以。试想一个场景,中小型文档搜索,如果用lucene,每个服务实例都要单独构建,文档更新会带来每个服务实例的更新,redisearch恰恰就能集中处理这个索引的创建、更新、删除,因为是基于redis的,所以qps很高,性能很不错
2020-09-21 10:09
0
回复
举报
这个是value的全文检索, 不是key的hash查询.
2020-09-21 12:04
0
回复
举报
更多评论
5 评论
24 收藏
分享
返回顶部
顶部