blog-post

Manticore Search 3.5.2: 优化了 OPTIMIZE,独立的 NOT,HTTP 中的分面等

我们很高兴地宣布 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 中作为渗透查询使用时尤其有用,因为它让您可以将您的“黑名单”保存为一组渗透查询,然后过滤掉所有包含它们的文档。

max_threads_per_query 和 OPTION 线程


在 3.5.0 中,我们引入了一种新的多任务模式,基于选项 searchd.threads 限制 Manticore Search 为不同任务分配的最大线程数。但是,如果您的实时索引中有太多的块,或者分布式索引过于 分散 + 高 QPS,您可能不想让每个查询占用您所有的 threads。在 3.5.2 中有 2 个新选项:

  • max_threads_per_query 用于全局限制
  • SELECT ... OPTION threads=N 进行每查询限制

HTTP 协议中的聚合


在 Manticore 3.5.2 中,HTTP API /search 收到了基本支持 facetinggrouping

👷 进行中的工作:将此功能添加到基于 HTTP 的 Manticore 客户端( phppythonjavascriptjavaelixir

默认复制端口


配置复制变得更加容易。在大多数情况下,您无需考虑用于复制的端口和如何在配置中启用复制。如果您想在多个 Manticore 节点之间同步索引,现在变得如此简单:
Easy replication

新的打包方案


自 3.5.2 起,可以单独安装/升级 Manticore Search 服务器及其辅助工具(索引器、索引工具等)。这对于那些使用 普通索引 的人尤其有用,在推出新的索引器(可能会更改索引格式)之前,想先尝试一下 searchd(能够理解旧格式)。

新的软件包名称为 manticore-servermanticore-tools,可以通过软件包管理器进行安装。
软件包 manticore 如以前一样受支持,如果您不需要上述内容,只需 像往常一样安装/升级 manticore 请阅读在 3.5.2 中发生的更多更改,详见 Manticore Manual ,敬请关注!

诚挚的,
Manticore 团队

安装Manticore Search

安装Manticore Search