我们很高兴地宣布发布 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 完成端口。
新功能和改进
- Percolate 查询过滤器可以包含表达式,并可以与 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 。