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 月)
标题:
- 此版本提高了整体稳定性,并修复了在上一版本之后发现的问题。
详:
- 特征:
- #已添加 1172
exists
可用于条件更新的函数REPLACE PARTIAL
以检查文档中是否存在字段。
- #已添加 1172
- 次要增强功能:
- #1172 在 IF 条件下对 'or'/'and' 子句右侧的惰性计算。
- 错误修正:
v1.4.26(2020 年 3 月)
标题:
- 此版本提高了整体稳定性,并修复了在上一版本之后发现的问题。
详:
- 修复稀有
FORK GC
访问未初始化的变量导致的崩溃。
v1.4.25(2020 年 3 月)
标题:
- 此版本提高了整体稳定性,并修复了在上一版本之后发现的问题。
详:
v1.4.24(2020 年 1 月)
标题:
- 此版本提高了整体稳定性,并修复了在上一版本之后发现的问题。
详:
1.4.23 版
标题:
- 此版本提高了整体稳定性,并修复了在上一版本之后发现的问题。
详:
- 错误修正:
- 当光标超时且光标未被消耗时出现内存泄漏。
1.4.22 版
标题:
- 此版本提高了整体稳定性,并修复了在上一版本之后发现的问题。
详:
- 错误修正:
- FILTER 选项无法与 coordinator 一起正常工作。
- 当光标与排序字段组合在一起时出现内存泄漏。
1.4.21 版
标题:
- 此版本提高了整体稳定性,并修复了在上一版本之后发现的问题。
详:
- 错误修正:
- #1031 与 一起使用时高亮显示崩溃
NOINDEX
领域。
- #1031 与 一起使用时高亮显示崩溃
v1.4.20(2020 年 1 月)
更新紧急度:中 这是版本 1.4 的维护版本。
此版本提高了整体稳定性,并修复了在上一版本之后发现的问题。
- 改进
- #1020 读取不可排序的字段的性能改进。
- 错误修复
v1.4.19(2019 年 12 月)
更新紧急度:中 这是版本 1.4 的维护版本。
此版本提高了整体稳定性,并修复了在上一版本之后发现的问题。
v1.4.18(2019 年 11 月)
更新紧急度:中 这是版本 1.4 的维护版本。
此版本提高了整体稳定性,并修复了在上一版本之后发现的问题。
- Bug 修复
- #947修复 FORK GC 管道上的短读,该管道可能导致崩溃和潜在的数据损坏
v1.4.17(2019 年 10 月)
更新紧急度:中 这是版本 1.4 的维护版本。
此版本提高了整体稳定性,并修复了在上一版本之后发现的问题。
- 特征:
- #已添加 779
to_number()
和to_str()
函数的歧义原因
- #已添加 779
- 改进
- #891 所有内存分配现在都将使用 redis 内存分配器。这意味着所有内存都将在 redis 中正确暴露
INFO MEMORY
命令。
- #891 所有内存分配现在都将使用 redis 内存分配器。这意味着所有内存都将在 redis 中正确暴露
v1.4.16(2019 年 9 月)
更新紧急度:中 这是版本 1.4 的维护版本。
此版本提高了整体稳定性,并修复了在上一版本之后发现的问题。
主要特点:
- #883 Forkgc 优化 - 引入新的 config 参数
FORK_GC_CLEAN_THRESHOLD
.仅当未清理的文档数量超过此阈值时,RediSearch 才会开始清理。
主要修复:
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 的维护版本。
此版本提高了整体稳定性,并修复了在上一版本之后发现的问题。
主要修复:
v1.4.12 (5 八月 2019)
更新紧急度:中 这是版本 1.4 的维护版本。
此版本提高了整体稳定性,并修复了在上一版本之后发现的问题。
主要特点:
- #741 允许中文分词识别标点符号的 -escape
主要修复:
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 的维护版本。
此版本提高了整体稳定性,并修复了在上一版本之后发现的问题。
主要修复:
- 修复了 mempool 销毁时的内存泄漏
- 修复了使用分叉 GC 运行时的进程崩溃(预览版)
- 修复了使用标签时的 fork GC(预览版)死锁
- 修复了创建和删除索引时的内存泄漏
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_POLICY
configuration 选项设置为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.
More fuzziness in search
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.
On this page