我们很高兴宣布 Manticore Search 2.8.0 GA 的发布。
适用于 Debian、Ubuntu、Red Hat/CentOS、Windows 和 OSX 的预构建软件包可以从 这里 下载。
新功能和改进
- 本次发布引入的重大功能是支持 集群 的 percolate 索引。
- 对于 percolate 索引,DESCRIBE 命令现在扩展了 TABLE,允许查看 percolate 文档的模式。
ANY/ALL函数现在也可以用于字符串属性或表达式以及 PQ 标签。对 pq 索引的 SELECT 与常规索引功能相同,除了 MATCH 子句。- 新的
CALL PQ
选项:
skip_bad_json- 如果启用,损坏的 json 文档将被跳过,不会终止正在进行的调用mode- 用于分布式设置。默认值为 'sparsed' - 引擎将在 percolate 代理之间分配文档。另一种选项是 'sharded',在这种情况下所有文档都会发送到每个 percolate 代理shift- 如果未指定docs_id,则为文档 ID 的偏移量。适用于分布式 'sparsed' 模式
- charset_table 可以使用别名 'non_cjk',它提供了一组大多数非CJK语言的常用字符集合。该集合灵感来自 ICU 分词器。
- ngram_chars 的类似别名 'cjk' 可用于直接使用的CJK字符集合,适用于未分段的文本。
- Manticore 现在附带了 50 个基于语言的 停用词 文件,可以通过使用语言的短代码在 stopwords 指令中声明。
- 表达式中的 JSON 字段不再需要显式转换。例如在 GEODIST 的情况下,需要显式转换存储为 JSON 对象内的浮点数的地理坐标:
GEODIST(DOUBLE(json.lat),DOUBLE(json.long),x,y)。 - RPM 包附带了一个 systemd 生成器,可以检测是否可以使用 jemalloc 代替标准 malloc。系统上需要已安装 jemalloc 并禁用透明大页。使用 jemalloc 显示了 RAM 使用和性能的改进。
修复
此次发布还包含 18 个错误修复,其中几个示例:
- bf4e9ea 修复了 RT 索引保存空元数据的问题
- 6b95d48 修复了字符串属性 > 4M 时使用饱和而不是溢出
- 8868b20 修复了截断超过 512 字符的 SphinxQL 错误信息
- de9deda 修复了在没有 binlog 的情况下保存 percolate 索引时的崩溃
如需完整报告,请参阅 发布说明 。