我们很高兴地宣布 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 中有两个新选项:
- 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 服务器和辅助工具(索引器、indextool 等)。这对于那些使用 普通索引 的用户尤其有用,在推出新的索引器(可能会更改索引格式)之前,想先尝试一下搜索服务(可以理解旧格式)。
新的包名称是 manticore-server 和 manticore-tools,可以通过包管理器安装。
包 manticore 仍然像以前一样受支持,如果您不需要上述内容,只需像往常一样安装/升级 manticore
即可
。 在
Manticore Manual
中阅读 3.5.2 中发生的更多更改,并保持关注!
诚挚的,
Manticore 团队
