⚠️ 此页面为自动翻译,翻译可能不完美。
blog-post

Manticore Search 3.5.2: optimized OPTIMIZE, standalone NOT, faceting via HTTP and more

我们很高兴地宣布 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客户端( phppythonjavascriptjavaelixir

默认复制端口


配置复制变得更加简单。在大多数情况下,您无需考虑应分配哪些端口用于复制,以及如何在配置中启用复制。如果您想在多个Manticore节点之间同步索引,现在只需这样简单:
简易复制

新的打包方案


从3.5.2版本开始,现在可以分别安装/升级Manticore Search服务器和辅助工具(indexer、indextool等)。这对于使用 普通索引 的用户特别有用,他们可以在推出新indexer(可能更改索引格式)之前,仅尝试安装searchd(理解旧格式)。

新的包名称是 manticore-servermanticore-tools,可以通过包管理器安装。
manticore 仍如以前一样受支持,如果您不需要上述功能,只需像往常一样安装/升级 manticore 下载页面 了解更多关于3.5.2版本的变更,请阅读 Manticore手册 并保持关注!

此致敬礼,
Manticore团队

安装Manticore Search

安装Manticore Search