我们很高兴地 announce Manticore Search 2.7.0 GA. 的发布。
预构建的包可用于 Debian、Ubuntu、Red Hat/CentOS、Windows 和 OSX,可以从 此处 下载。有关 Docker 镜像的信息,请查看官方 repository 。
内部改进
此版本对多个内部组件进行了重构,以现代化代码和流程。这些更改是透明的,并且不需要从旧版本或 Sphinx 2.x 升级。
为了应对 Spectre 和 Meltdown 补丁的性能影响,系统调用的数量已尽可能减少。
本地索引的管理已被重构。我们从 RW 锁机制切换到一种模式,在这种模式下,索引独立于查询线程。这意味着旋转不再被正在运行的查询阻塞,或者新来的查询不会因正在进行的旋转而停滞。
配置重新加载现在会产生完全的效果。例如,在以前的版本中,重新配置的索引需要重新启动守护进程。
与远程节点的连接完全独立。协议得到了改善,因为现在握手和数据(查询)在一个数据包中发送(之前握手首先发送)。这应该可以改善延迟并减少节点之间的数据流量。协议更改适用于使用旧版本的远程节点。
如果在系统范围内启用了 TCP Fast Open,主节点和节点之间可以使用它。
客户端轮询直到现在使用 epoll/kqueue,并且如果前者不可用,则会回退到 poll/select。poll/select 模式已被完全删除,这意味着 Manticore 不支持没有 epoll 支持的内核(epoll 在 2012 年的 2.5.44 中添加)。在 Windows 平台上,我们已经从 wsapoll 切换到 I/O 完成端口。
新功能和改进
- 逐层查询过滤器可以包含表达式,并可以与 JSON 和字符串属性一起使用。新的选项
docs_id
可用于指定结果集中的文档 ID。 SHOW STATUS
现在包括守护进程版本以及mysql_version_string
。- 分布式索引可以与 FEDERATED 一起使用。
- 添加了虚拟的 SHOW NAMES COLLATE 和 SET wait_timeout,以便更好地与 ProxySQL 兼容。
- 在配置文件中可以使用后缀
g
、G
、t
、T
表示数据大小。
更改
- 在 HA 加权策略中计算的主机权重现在表示为 float 百分比(0..99.99),而不是 uint16(0..65535)。
- 从此版本开始,我们不再提供 Debian Wheezy 的构建。
- 此版本已修复了一些错误,完整报告请参阅 Release note 。