我们很高兴地宣布Manticore Search 3.2.2的发布。下载地址为 此处 以及 Manticore Github页面 。Docker镜像可在 Docker Hub 获取。
新功能
- 长期期待的 自动递增 ID功能现已支持实时索引。
- 新增 HIGHLIGHT() 函数,支持对存储字段进行高亮显示。HIGHLIGHT()函数同样适用于SphinxQL以及 HTTP API 。
- SNIPPET()
函数现在可以使用新的特殊函数
QUERY()
作为查询参数。这消除了在SELECT子句中使用SNIPPET()时需要重复完整全文匹配字符串的需求。
高亮函数新增参数' field_separator '。
改进与变更
- 从本版本开始,默认配置文件位置为**
/etc/manticoresearch/manticore.conf。如果通过deb/rpm包升级,包会将现有的sphinx.conf**移动到新位置。 - 在RHEL/CentOS系统中,服务名称从searchd更改为manticore。
- 对于Docker,配置挂载路径应为**
/etc/manticoresearch**。 - 在之前的版本中,从远程节点的分布式索引查询存储字段时速度较慢且资源消耗高。为了解决这个问题,我们实现了存储字段的延迟获取(仅在最终结果集构建后才获取),使性能接近不携带存储字段的查询。
- 字符串属性和表达式不再破坏多查询优化和并行
FACET
优化。在之前的版本中,如果在分面中引入单个属性,聚合操作将按顺序执行,导致分面搜索变慢。现在,分面搜索主要受最慢的分面属性/表达式影响。
性能提升取决于分面的组成类型,在某些情况下,分面搜索现在可以快数倍。 - ICU数据文件现在随官方版本一起提供,且icu_data_dir指令已被移除。这是由于官方操作系统渠道提供的不同ICU版本之间存在各种问题。
- systemd单元文件现在包含'Restart=on-failure'策略,以便在searchd守护进程崩溃或意外关闭时重新启动。
- 在RHEL/CentOS 8上,Manticore Search现在使用mariadb-connector-c-devel进行编译,且mariadb-connector-c是索引MySQL数据库数据的可选要求。
我们做出此更改是因为mariadb-connector-c与RHEL/CentOS 8中提供的MySQL和MariaDB兼容。
错误修复
此版本修复了若干错误,其中一些包括:
- 795520a 修复 #275 binlog在磁盘空间不足时的无效状态
- 2284da5 修复 #279 对JSON属性使用IN过滤器时的崩溃
- ce2e4b4 修复 #281 错误的管道关闭调用
- 440991f 修复长术语与宽UTF8代码点的前缀生成时的崩溃
- faed322 修复JSON仅将数字转换为字符串
如需完整的变更日志,请参阅 发布说明 。