RediSearch 1.4 发行说明

条件更新。Schema 修改。查询拼写更正。语音匹配。搜索中的模糊度更高。检索和更改运行时配置。无限的自动完成结果。

Redis 堆栈

要求

RediSearch v1.4.28 需要:

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

v1.4.28(2020 年 5 月)

这是版本 1.4 的维护版本。

标题:

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

详:

  • 错误修正:
    • #1218 在没有并发的情况下运行并使用游标 API 时可能会崩溃。

v1.4.27(2020 年 4 月)

标题:

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

详:

  • 特征:
    • #已添加 1172exists可用于条件更新的函数REPLACE PARTIAL以检查文档中是否存在字段。
  • 次要增强功能:
    • #1172 在 IF 条件下对 'or'/'and' 子句右侧的惰性计算。
  • 错误修正:
    • #1110 访问未初始化的变量时出现罕见的 GC 失败。
    • #1131 在突出显示文档不再存在的搜索查询时崩溃。

v1.4.26(2020 年 3 月)

标题:

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

详:

  • 修复稀有FORK GC访问未初始化的变量导致的崩溃。

v1.4.25(2020 年 3 月)

标题:

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

详:

  • 特征:
    • #1051 添加了对在文档更新时更新标记字段的支持NOINDEX领域。
  • 错误修正:
    • #1051 FORK GC未更新数值索引的唯一总和。

v1.4.24(2020 年 1 月)

标题:

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

详:

  • 错误修正:
    • #1038 光标上的内存泄漏。
    • #1049 释放其他索引字段时出现转换错误时崩溃。

1.4.23 版

标题:

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

详:

  • 错误修正:
    • 当光标超时且光标未被消耗时出现内存泄漏。

1.4.22 版

标题:

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

详:

  • 错误修正:
    • FILTER 选项无法与 coordinator 一起正常工作。
    • 当光标与排序字段组合在一起时出现内存泄漏。

1.4.21 版

标题:

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

详:

  • 错误修正:
    • #1031 与 一起使用时高亮显示崩溃NOINDEX领域。

v1.4.20(2020 年 1 月)

更新紧急度:中 这是版本 1.4 的维护版本。

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

  • 改进
    • #1020 读取不可排序的字段的性能改进。
  • 错误修复
    • #1022 查询非法访问内存GC跑。
    • #1022 重新创建具有相同名称的索引 (delete+create) 从游标列表中删除了索引。
    • #1022 执行时出现内存泄漏FT.AGGREGATE在不存在的索引上。
    • #1022 期间可能的数据损坏GC跑。
    • #1025 别名无法正常工作FT.AGGREGATE.

v1.4.19(2019 年 12 月)

更新紧急度:中 这是版本 1.4 的维护版本。

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

  • 错误修复
    • #1000 - FT.DEL未正确复制到副本
    • #1004 - 内存泄漏TAG数组
    • #1006 - 条件更新时出现未公开的错误IF导致错误消息泄漏

v1.4.18(2019 年 11 月)

更新紧急度:中 这是版本 1.4 的维护版本。

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

  • Bug 修复
    • #947修复 FORK GC 管道上的短读,该管道可能导致崩溃和潜在的数据损坏

v1.4.17(2019 年 10 月)

更新紧急度:中 这是版本 1.4 的维护版本。

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

  • 特征:
  • 改进
    • #891 所有内存分配现在都将使用 redis 内存分配器。这意味着所有内存都将在 redis 中正确暴露INFO MEMORY命令。

v1.4.16(2019 年 9 月)

更新紧急度:中 这是版本 1.4 的维护版本。

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

主要特点:

  • #883 Forkgc 优化 - 引入新的 config 参数FORK_GC_CLEAN_THRESHOLD.仅当未清理的文档数量超过此阈值时,RediSearch 才会开始清理。

主要修复:

  • #848 RediSearch 在对并非存在于所有文档中的字段进行排序时不会崩溃。
  • #884 修复 intersect 迭代器上的错误结果。

v1.4.15 (28 八月 2019)

更新紧急度:中 这是版本 1.4 的维护版本。

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

主要修复:

  • #866 - 修复因从建议树中删除不存在的术语而导致的 RDB 损坏。
  • 当 Redis 退出时,FORK 垃圾回收的 fork 进程现在将相应地关闭。
  • 对于非临时和交错的索引:删除索引时,索引器线程现在将关闭。

v1.4.14 (20 八月 2019)

更新紧急度:中 这是版本 1.4 的维护版本。

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

主要修复:

  • #851 在交错模式(非安全模式)下,将忽略并发更新删除的文档。

v1.4.13 (8 八月 2019)

更新紧急度:中 这是版本 1.4 的维护版本。

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

主要修复:

  • #798 修复了拼音查询返回错误结果的问题
  • #820 修复了从文档表中获取不存在的文档时崩溃的问题
  • 修复了使用带有 ' '(空格)分隔符的标签时内存读取无效的问题

v1.4.12 (5 八月 2019)

更新紧急度:中 这是版本 1.4 的维护版本。

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

主要特点:

  • #741 允许中文分词识别标点符号的 -escape

主要修复:

  • #739 修复搜索错误崩溃
  • #346 修复了 fuzzy 不能与数字一起使用的问题
  • #769 修复 rdb 加载时罕见的崩溃
  • #749 在前缀搜索中,不要将前缀扩展到没有文档的术语

v1.4.11(2019 年 6 月)

更新紧急度:中

此版本仅在预览版 1.4.10 版本中添加了对别名的支持。

  • 新增功能
    • #731 添加索引别名。这允许用户提供(或删除)指向索引的 '链接'。命令是 FT。ALIASADD,FT.ALIASDEL 和 FT.ALIASUPDATE 的 THE Native。

v1.4.10 (28 五月 2019)

更新紧急度:中

这是版本 1.4 的维护版本。

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

主要修复:

  • 修复在 FT 上将 SORT 与 APPLY 结合使用时的内存泄漏。骨料

v1.4.9 (18 五月 2019)

更新紧急度:中

这是版本 1.4 的维护版本。

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

主要修复:

  • Fork GC 现在将压缩倒排索引的空块。
  • 修复将聚合与 GROUPBY 一起使用时无效的内存访问。
  • 修复了将 limit 与 SORTBY 一起使用可能会返回重复结果的问题。

已知问题:

  • 在 FT 中组合 SORT 和 APPLY 时出现内存泄漏。骨料。此问题已在 1.4.10 中修复。建议直接跳到 1.4.10。

v1.4.8 (29 四月 2019)

更新紧急度:低

技术版本,没有更改或修复。

v1.4.7 (29 四月 2019)

更新紧急度:中

这是版本 1.4 的维护版本。

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

主要修复:

  • 修复了在查询时删除并重新创建同一索引可能导致崩溃的问题。

v1.4.6 (8 四月 2019)

更新紧急度:中

这是版本 1.4 的维护版本。

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

主要修复:

  • 加载由低于 1.4 版本生成的可能损坏的 RDB 文件
  • 修复REPLACE PARTIAL可能无法正常工作 (#621)

v1.4.5(2019 年 3 月)

更新紧急度:低

这是版本 1.4 的维护版本。

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

主要修复:

  • 修复了 FORK GC 导致 redis rdb fork 失败的问题

v1.4.4 (21 二月 2019)

更新紧急度:低

这是版本 1.4 的维护版本。

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

主要修复:

  • 修复了 Fork GC 上的内存泄漏
  • 修复了在 Fork GC 上释放 GIL 后 key 关闭的问题(在极少数情况下可能导致崩溃)

v1.4.3 (4 二月 2019)

更新紧急度:低

这是版本 1.4 的维护版本。

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

主要修复:

  1. 修复了 mempool 销毁时的内存泄漏
  2. 修复了使用分叉 GC 运行时的进程崩溃(预览版)
  3. 修复了使用标签时的 fork GC(预览版)死锁
  4. 修复了创建和删除索引时的内存泄漏

v1.4.2 (27 十一月 2018)

更新紧急度:低

这是版本 1.4 的维护版本。

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

v1.4.1 (12 十一月 2018)

更新紧急度:中

这是版本 1.4 的维护版本,计划发布的下一个版本是 2.0。

该版本提升了垃圾回收器的整体稳定性,并侧重于性能提升。它还包括:

  • 新增内容:运行时配置
  • 更改:无限的自动完成结果

垃圾收集器

RediSearch 使用垃圾回收器从内部数据结构中删除已删除的文档。

在这个版本中,垃圾回收机制在效率(即它回收的内存量)以及性能(即它更快)方面得到了改进。改进的机制使用分叉线程。有关其他详细信息,请参阅此博文:How We Improve Garbage Collection Performance with RediSearch 1.4.1.

改进的收集机制目前是 *实验性的 - 并且默认情况下未启用。启用新的垃圾回收机制需要将GC_POLICYconfiguration 选项设置为FORK在加载时,例如:

redis-server --loadmodule ./redisearch.so GC_POLICY FORK

Runtime configuration

RediSearch's configuration is applied via arguments passed to the module at load time. This release introduces the new FT.CONFIG command that allows to retrieve the current configuration as well as change it during runtime.

Unlimited autocomplete results

This version removes the limit of 10 results from FT.SUGGET - you can set the MAX num as high as needed.

v1.4.0 (August 2018)

**Update urgency:*- Medium - mainly due to numerous fixes

This version improves overall stability and performance of RediSearch. It also delivers better support for use cases in which documents are continuously updated. New features:

  • Conditional updates
  • Schema modification
  • Query spelling correction
  • Phonetic matching
  • Enhancement: More fuzziness in search

Continuous updates

Like most search engines, RediSearch was designed for maintaining append-mostly indices. To update an existing document, the document is actually replaced - that is deleted and added to the index.

Because RediSearch provides realtime indexing and searching, it is sometimes used to search near-realtime data (or the results of its processing). In such cases, the number of indexed documents stays mostly static, but their contents are continuously updated.

To support this use case, RediSearch has been reworked internally to use 64-bit internal document IDs so that an index can sustain high update throughputs without overflowing. Furthermore and as a result, significant effort has been put into improving memory management and garbage collection.

Conditional updates

The IF subcommand has been add to FT.ADD. When used with the existing REPLACE [PARTIAL] subcommand, the document will be updated only if the condition provided evaluates to a truth value, otherwise a special NOADD reply is returned.

Schema modification

The FT.ALTER command has been introduced, and provides the ability to add new fields to the definition of an existing index. The contents of such newly-added fields are indexed only for new or updated documents.

Query spelling correction

Query spelling correction, a.k.a "did you mean", is now provided via the FT.SPELLCHECK command. It enables generating suggestions for search terms that could be misspelled. For more details see Query Spelling Correction.

Phonetic matching

Phonetic matching, a.k.a "Jon or John?", is now supported via the PHONETIC text field attribute. The terms in such fields are also indexed by their phonetic equivalents, and search results include these by default. For more details see Phonetic Matching.

The fuzzy match operator, '%', can now be repeated up to three times to specify the Levenshtein distance. That means that the queries %hello%, %%hello%% and %%%hello%%% will perform fuzzy matching on 'hello' for all terms with LD of 1, 2 and 3, respectively.

RATE THIS PAGE
Back to top ↑