我们很高兴地宣布 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
- 文档 ID 的偏移量,如果未指定docs_id
。在分布式’sparsed’模式下非常有用。
- charset_table 可以使用别名 ’non_cjk’,它提供了大多数非 CJK 语言的常用字符集合。该集合受 ICU 令牌化的启发。
- 类似的别名 ngram_chars ‘cjk’ 可用于没有分段文本中使用的 CJK 字符的现成集合。
- Manticore 现在提供了一套 50 个 stopwords 语言基础文件,可以通过使用该语言的短代码在 stopwords 指令中声明。
- 表达式中的 JSON 字段不再需要显式转换。例如,在 GEODIST 的情况下,需要显式转换为存储为浮点数的地理坐标:
GEODIST(DOUBLE(json.lat),DOUBLE(json.long),x,y)
。 - RPM 包随附一个 systemd 生成器,检测是否可以使用 jemalloc 代替标准的 malloc。jemalloc 需要预先安装在系统上,并且需要禁用透明大页。使用 jemalloc 提高了 RAM 使用和性能。
修复
本次发布还包含 18 个 bug 修复,突出的几个包括:
- bf4e9ea 修复了 RT 索引保存空 meta 的问题。
- 6b95d48 修复了字符串 attrs > 4M 使用饱和而不是溢出。
- 8868b20 修复了切断 SphinxQL 错误消息大于 512 字符的问题。
- de9deda 修复了在没有 binlog 的情况下保存 percolate 索引的崩溃问题。
有关完整报告,请参考 Release note 。