RediSearch 1.6 发布说明

改进了全文搜索和聚合查询的性能。支持索引的别名。添加了一个C API以在其他模块中嵌入RediSearch。分叉进程垃圾回收。

需求

RediSearch v1.6.16 需要:

  • 最低Redis兼容版本(数据库):4.0.0
  • 最低Redis企业软件版本(集群):5.0.0

v1.6.16 (2021年6月)

这是版本1.6的维护发布。

更新紧急程度:中等 - 计划升级服务器,但并不紧急。

详情:

  • 错误修复:

    • #2018: FT.ADD REPLACE 保留了新文档中未包含的旧文档字段 #647 #1193

v1.6.15 (2021年2月)

这是版本1.6的维护发布。

更新紧急程度:低

详情:

  • 小改进:

    • #1225 允许数字字段使用科学计数法表示。
    • #1574 允许对不可排序字段使用SORTBY。
  • 小错误修复:

    • #1683 添加了一个模块参数 _NUMERIC_COMPRESS,防止 double -> float 压缩。它解决了在某些浮点数上找不到精确匹配的问题。
    • #1757 移除了对可排序字段数量限制的断言,改为返回错误。
    • #1668 在标签字段上查询停用词列表中的词。
    • #1745 强制 count reducer 的值为 0。
    • #1774 MINPREFIX 和 MAXEXPANSION 可以在运行时更改。
    • #1861 修复了 FT.SCOREEXPLAIN 的问题,其中回复数组深度可能超过 7。
    • #1689 FT.SUGGET 从 RSCoordinator 返回的结果更加一致。
    • 各种小的内部调整。

v1.6.14 (2020年9月)

  • 这是版本1.6的维护发布。

详情:

  • 次要功能:

    • #1420 FT.SEARCH 生成的结果数量的硬限制现在可以通过 MAXSEARCHRESULTS 进行配置。
  • 错误修复:

    • #1313 不支持的语音字段错误。
    • #1286 在可选搜索时可能崩溃。
    • #1449 在FORK GC时罕见的文件描述符泄漏。
    • #1469 当内部文档ID超过uint32_max时无限循环。

v1.6.13 (2020年5月)

这是版本1.6的维护发布。

标题:

  • 此版本提高了整体稳定性,并修复了上一个版本后发现的问题。

详情:

  • Bug修复:
    • #1186 #1188 FT.INFO 命令中 inverted_sz_mbnum_records 的值不正确。

v1.6.12 (2020年4月)

标题:

  • 此版本提高了整体稳定性,并修复了上一个版本后发现的问题。

详情:

  • 功能:
    • #1172 添加了exists函数,可用于条件更新(REPLACE PARTIAL)以检查文档中是否存在某个字段。
  • 小改进:
    • #1172 在IF条件中对'或'/'和'子句的右侧进行惰性求值。
    • #1134 使用FT.SEARCH时移除LIMIT的硬限制。
  • Bug修复:
    • #1124 在没有索引字段的情况下,NOINDEX标签字段无法在UPDATE PARTIAL中更新。
    • #1120 II_GetCriteriaTester中的释放循环,多次释放了相同的条件测试器。
    • #1161 设置MAXDOCTABLESIZE无效的情况。
    • #1169 当值不存在时,FIRST_VALUE减速器崩溃。
    • #1159NOT条件测试器上出现无限循环。

v1.6.11 (2020年3月)

标题:

  • 此版本提高了整体稳定性,并修复了上一个版本后发现的问题。

详情:

  • Bug修复:
    • #1126 修复了查询没有结果的标签字段时引入的内存泄漏问题。

v1.6.10 (2020年3月)

标题:

  • 此版本提高了整体稳定性,并修复了上一个版本后发现的问题。
  • 此版本修复了与1.4相比的某些向后兼容性问题。尽管这些情况很少见,但建议在升级到1.6时使用此版本或更新版本。

详情:

  • 小改进:
    • #1062FT.INFO中添加了自定义停用词列表
  • 修复了向后不兼容的问题:
    • #1075 字段应始终以字符串形式返回给用户。
    • #1074 在打印时不要截断可能的整数值。
    • #1065 恢复“更改生成reducer别名的方式”。
  • Bug修复:
    • #1085 数值树中非叶子节点的最小值和最大值不应更新。
    • #1106 由于在未持有锁的情况下关闭fork,导致FORK GC上的管道泄漏。
    • #1114 PR #986 撤销了 #985, #989 的工作。此PR重新引入了这些功能。

v1.6.9 (2020年2月)

标题:

  • 此版本提高了整体稳定性,并修复了上一个版本后发现的问题。

详情:

  • Bug修复:
    • #1052 移除Quantile上的错误优化。
    • #1057 当达到某些限制时,内存池没有释放内存。

v1.6.8 (2020年2月)

标题:

  • 此版本提高了整体稳定性,并修复了上一个版本后发现的问题。

详情:

  • Bug修复:
    • #1052 移除Quantile上的错误优化。
    • #1057 当达到某些限制时,内存池没有释放内存。

v1.6 GA(2020年1月)

这是RediSearch 1.6(v1.6.7)的正式发布版本。

标题:

  • 多项性能改进,使全文搜索查询速度提高多达60%,聚合查询速度提高多达73%。
  • 支持索引的别名。
  • 用C语言(和Rust绑定)编写的低级API,使RediSearch可以嵌入到其他Redis模块中。RedisGraph是第一个GA消费者。
  • 分叉进程垃圾回收(FORK GC)允许稳定的读取延迟。

完整详情:

  • 新增功能

    • #658 FT.ADD … REPLACE … NOCREATE 如果文档不存在,则不会添加文档。
    • #575 添加索引别名功能。这允许用户提供(或删除)索引的“链接”。命令包括 FT.ALIASADDFT.ALIASDELFT.ALIASUPDATE
    • 新的 C API 使 RediSearch 可以嵌入到其他 Redis 模块中。此 API 允许其他 Redis 模块使用 RedisSearch 的功能,而无需实际激活“模块”功能。请注意,这仍然必须在 Redis 本身上使用。已经集成此 API 的模块
    • RedisGraph GA
    • RedisTimeSeries (WIP)
    • RedisJSON (WIP)
  • 性能改进

    • 提高使用多个联合(|)迭代器时的性能
    • 提高使用多个交集迭代器时的性能
    • 提高整体索引读取性能
    • #598 如果文档中不存在foo,则不返回foo: NULL。这样可以节省网络带宽
  • Bug修复 - 语义

    • #688 #623 修复了可选(~)搜索操作符的各种问题:
      • 修复了在使用联合操作符时遗漏结果的问题。
      • 允许在仅提升模式下单独使用可选迭代器(无需过滤查询)。
      • 修复了权重属性被忽略的问题。
    • #653 FT.GET 将不再返回未通过 FT.ADD 添加的文档,即使该文档在服务器中以普通 Redis 哈希形式存在。
    • FT.AGGREGATE 现在对其语义更加严格,避免无意义的查询或引用模式或 LOADed 中不存在的字段。
    • #779 由于歧义原因,添加了 to_number()to_str() 函数。
    • #906 可以通过添加 'EXPLAINSCORE' 来添加关于分数计算方式的描述。
    • #897 FORK GC 现在在索引和读取查询中具有最低优先级。
    • 添加了自动化测试以确保 macOS 构建正常工作。
  • Bug修复 - 崩溃/稳定性

    • 提高了整体架构的稳定性
    • #666 修复了当内部键名与用户键名冲突时导致的崩溃问题;例如,使用ft:two/two创建新文档时
    • #697 #588 修复了内存泄漏问题
    • #691 修复了FT.EXPLAIN上的崩溃问题
    • 适当的模块级和索引级清理功能
    • 简化了并发模型
    • #898 修复了Redis终止时FORK GC不存在的罕见问题
    • #865 当使用FT.SEARCHSORTBY时,只能按一个字段排序
    • #917 修复了在跳过优化中引入的错误结果
    • #888 NULL项导致FORK GC崩溃
    • #887 中文搜索未转换为简体中文
    • 修复了FORK GC问题,其中从管道读取未返回所有数据
RATE THIS PAGE
Back to top ↑