# Manticore Search 6

今天，Manticore 团队非常高兴地宣布发布 [Manticore Search 6.0.0](https://manticoresearch.com/install/)。此次发布是团队倾注了大量心血的成果，历时半年多，超过 800 次提交，以及超过 80,000 行代码才得以完成。我们想向所有以下人员表达最诚挚的感谢：

* [贡献者](https://github.com/manticoresoftware/manticoresearch/graphs/contributors)
* [问题报告者](https://github.com/manticoresoftware/manticoresearch/issues)
* 以及 [客户](/clients/)

他们在我们的发展过程中提供了帮助。请与我们一同欢迎 Manticore Search 6.0.0 的新版本！

## Manticore Buddy - Manticore Search 的 PHP 扩展

从此次发布开始，Manticore Search 将附带 Manticore Buddy，这是一个用 PHP 编写的辅助守护进程，用于处理不需要超低延迟或高吞吐量的高级功能。Manticore Buddy 在后台运行，您可能甚至不会意识到它正在运行。尽管对最终用户是不可见的，但要使 Manticore Buddy 容易安装并兼容主要的 C++ 守护进程，这是一项重大挑战。这一重大变更将使团队能够开发一系列新的高级功能，例如分片编排、访问控制和身份验证，以及各种集成，如 mysqldump、DBeaver、Grafana mysql 连接器等。目前它已经可以处理：
* [SHOW QUERIES](https://manual.manticoresearch.com/Node_info_and_management/SHOW_QUERIES#SHOW-QUERIES) 允许您查看当前在 Manticore Search 中运行的查询
* [BACKUP](https://manual.manticoresearch.com/Securing_and_compacting_a_table/Backup_and_restore#BACKUP-SQL-command-reference) 使您能够备份 Manticore Search 实例中的表
* 以及 [Auto schema](https://manual.manticoresearch.com/Data_creation_and_modification/Adding_documents_to_a_table/Adding_documents_to_a_real-time_table#Auto-schema) 允许您在不事先手动定义模式的情况下，通过插入第一个文档自动创建表

此外，我们期待您的贡献。现在，如果您想通过 PHP 扩展 Manticore 的新功能，应该会相对容易。您可以在 [Manticore Buddy GitHub 项目](https://github.com/manticoresoftware/manticoresearch-buddy) 中找到相关说明。

## 与 Elasticsearch 兼容的 INSERT 和 REPLACE

现在您可以执行与 Elasticsearch 兼容的 [insert](https://manual.manticoresearch.com/Data_creation_and_modification/Adding_documents_to_a_table/Adding_documents_to_a_real-time_table#Adding-documents-to-a-real-time-table) 和 [replace](https://manual.manticoresearch.com/Data_creation_and_modification/Updating_documents/REPLACE#REPLACE) JSON 查询，这使得 Manticore 可以与 Logstash、Filebeat 以及其他 Beats 家族的工具一起使用。这使 Manticore 更接近于成为 ELK 堆栈中 Elasticsearch 的替代品。我们的下一个目标是完成 Kibana/Opensearch Dashboards 的集成。

**顺便说一下，您可能想阅读 [这篇文章](/blog/manticore-alternative-to-elasticsearch/)，其中讨论了 Manticore 作为 Elasticsearch 的更快替代方案。**

## 二级索引默认启用
如果您使用我们推荐的 [Manticore Columnar Library](https://github.com/manticoresoftware/columnar/)，二级索引现在默认是启用的。在上一个主要版本中引入后，它们得到了显著改进，我们现在认为对于大多数用户，默认启用它们是有意义的。还有一个新的命令 `ALTER TABLE table_name REBUILD SECONDARY` 用于重建您的二级索引，例如在从旧版本升级时。

## 自动模式
现在您可以跳过创建表的步骤。只需插入第一个文档，Manticore 将根据其字段自动创建表。有关详细信息，请阅读 [此处](https://manual.manticoresearch.com/Data_creation_and_modification/Adding_documents_to_a_table/Adding_documents_to_a_real-time_table#Auto-schema)。

## 基于成本的优化器的改进
当 Manticore 执行全扫描查询时，它可以使用普通扫描来检查每个文档是否符合过滤条件，或者可以使用额外的数据和/或算法来加速查询执行。为了决定采用哪种方法，Manticore 使用基于查询成本的优化器（也称为“CBO”或“查询优化器”）。此版本在它的运作方式上包含了许多改进。有关更多信息，请阅读 [文档](https://manual.manticoresearch.com/Searching/Cost_based_optimizer#Cost-based-optimizer)。

## 远程监控
我们很高兴在此版本中添加了 [远程监控](https://manual.manticoresearch.com/Telemetry) 功能。此功能使我们能够收集匿名且去个性化指标，这将帮助我们改进产品的性能和用户体验。请放心，所有收集的数据都是 **完全匿名的，不会与任何个人信息相关联**。如果需要，此功能可以在设置中 [轻松关闭](https://manual.manticoresearch.com/Telemetry)。

## 备份工具

定期备份您的表非常重要，以便在发生系统崩溃、硬件故障或任何原因导致的数据损坏/丢失时能够恢复它们。在升级 Manticore Search 到引入表格式更改的新版本之前，备份也是必不可少的，还可以在您想要迁移到新服务器时将数据传输到其他系统。

Manticore Search [官方包](https://manual.manticoresearch.com/Securing_and_compacting_a_table/Backup_and_restore#Backup-and-restore) 中包含的 [manticore-backup](https://manticoresearch.com/install/) 工具，可以帮助您自动化备份运行在 [RT 模式](https://manual.manticoresearch.com/Read_this_first#Real-time-mode-vs-plain-mode) 下的 Manticore 实例的表，让您在发生任何停机或崩溃时更加安心。

您也可以通过 SQL 运行简单的命令 [BACKUP TO /path/to/backup](https://manual.manticoresearch.com/Securing_and_compacting_a_table/Backup_and_restore#BACKUP-SQL-command-reference) 来备份数据。

## SHOW QUERIES 和 KILL

新的 SQL 命令 [SHOW QUERIES](https://manual.manticoresearch.com/Node_info_and_management/SHOW_QUERIES#SHOW-QUERIES) 是查看正在运行查询的简便方法。它可以与 [KILL](https://manual.manticoresearch.com/Node_info_and_management/KILL#KILL) 命令结合使用，以终止长时间运行的 `SELECT` 语句。

## 动态 max_matches 和精确聚合

[`max_matches`](https://manual.manticoresearch.com/Searching/Options#max_matches) 选项指定服务器为每个表保留的最大匹配数并返回给客户端。从本次发布开始，其值是动态的，可以自动增加到 [`max_matches_increase_threshold`](https://manual.manticoresearch.com/Searching/Options#max_matches_increase_threshold)，以提高聚合查询的准确性。此外，如果分组属性的唯一值数量低于阈值，它也可以自动降低。

## arm64 支持

arm64 包现已上线。这意味着用户现在可以在运行 Manticore Search 和 Manticore Columnar Library 时，利用 arm64 处理器的强大性能和能效。随着 arm64 架构的日益流行，软件提供商为该平台提供支持比以往任何时候都更加重要。通过在新版本中提供 arm64 包，我们确保用户能够保持最新状态，并利用最新的硬件进步。

## 以及更多内容

以上只是自 Manticore 5.0.2 以来所做工作的部分内容，现在已在新版本中全面发布。请阅读：

🚀 10 项重大变更
✅ 35+ 项次要变更
🐞 85 个错误修复

在 [更新日志](https://manual.manticoresearch.com/Changelog) 中。

我们希望您会喜欢使用新版本的 Manticore Search。请通过以下方式分享您的反馈：
* 在 [社区论坛](https://forum.manticoresearch.com/c/manticore-announcements-english/5) 上发帖
* 在 [GitHub](https://github.com/manticoresoftware/manticoresearch/issues/new/choose) 上提交错误报告或功能请求
* 在 [公共 Slack 聊天](https://slack.manticoresearch.com/) 中讨论
* 将电子邮件发送至 contact@manticoresearch.com
