我们很高兴地宣布 Manticore Search 3.5.2 已发布!
除了19个错误修复外,还引入了一些新功能和更改:
更智能的OPTIMIZE
如果您使用 Manticore Search 的 实时索引 ,您知道有一个命令 OPTIMIZE INDEX 用于索引压缩。历史上它只能将索引块合并为一个块。在3.5.2版本中,这一行为已更改并可配置:
- 默认情况下,最终的块数等于
2 * CPU核心数,这可以高效利用您的多核CPU - 为了微调行为,新增了一个选项
cutoff,它会持续合并直到块数达到您想要的数量 - 👷 进行中:更智能的OPTIMIZE,您甚至无需外部运行!
独立的NOT运算符
现在可以将全文运算符 NOT 作为独立运算符使用。默认情况下,它被禁用,因为意外的单个NOT查询可能很慢。但如果您清楚自己在做什么,可以通过将新的searchd指令 not_terms_only_allowed 设置为0来启用它。这解决了全文黑名单的任务,当您想要查找所有不包含某些不良词汇的文档时非常有用。这在作为Manticore
Percolate Queries
的percolate查询使用时特别有用,因为它允许您将“黑名单”保存为一组percolate查询,然后过滤掉包含它们的所有文档。
max_threads_per_query 和 OPTION threads
在3.5.0版本中,我们引入了一种新的多任务模式,该模式基于选项 searchd.threads,用于限制Manticore Search可以为不同任务分配的线程最大数量。但如果您有太多实时索引块或非常大的
分布式索引
+ 高QPS,您可能不希望每个查询都占用所有 threads。在3.5.2版本中,新增了两个选项:
max_threads_per_query用于全局限制- 以及
SELECT ... OPTION threads=N用于每个查询的限制
HTTP协议中的聚合
在Manticore 3.5.2中,HTTP API /search 现在支持
分面
和
分组
的基本功能。
👷 进行中:将此功能添加到基于HTTP的Manticore客户端( php , python , javascript , java , elixir )
默认复制端口
配置复制变得更加简单。在大多数情况下,您无需考虑应分配哪些端口用于复制,以及如何在配置中启用复制。如果您想在多个Manticore节点之间同步索引,现在只需这样简单:
新的打包方案
从3.5.2版本开始,现在可以分别安装/升级Manticore Search服务器和辅助工具(indexer、indextool等)。这对于使用 普通索引 的用户特别有用,他们可以在推出新indexer(可能更改索引格式)之前,仅尝试安装searchd(理解旧格式)。
新的包名称是 manticore-server 和 manticore-tools,可以通过包管理器安装。
包 manticore 仍如以前一样受支持,如果您不需要上述功能,只需像往常一样安装/升级 manticore
下载页面
。 了解更多关于3.5.2版本的变更,请阅读
Manticore手册
并保持关注!
此致敬礼,
Manticore团队
