Manticore Buddy 是一个基于 PHP 的旁车和 Manticore Search 伴侣,可以加快开发速度,提高效率。在 C++ 开发可能缓慢的世界中,Manticore Buddy 使开发人员能够快速创建和部署功能。
由于 PHP 语言及其庞大的社区,Manticore Buddy 提供了更大的灵活性和用户友好性。此外,随着最新版本 8+ 的发布,PHP 现在比以往更快,是希望加快工作流程的开发人员的理想选择。
C++ vs. PHP: choosing the right language for your needs
在构建高性能软件时,C++ 通常是首选语言。然而,其开发过程可能较长且复杂,导致许多开发人员寻求可以提高生产力的替代选择。一种受欢迎的语言是 PHP,它以用户友好的特性和快速的性能而闻名。
在 Manticore Search,我们也面临着需要频繁发布更新的类似问题,同时保持高性能。为了解决这个问题,我们开发了 Buddy - 一个使用 PHP 实现不需要最大性能特性的旁车应用程序。
最终,使用 C++ 或 PHP 的选择取决于项目的需求。如果顶尖性能是优先事项,C++ 是最佳选择。另一方面,如果您更喜欢快速开发和易用性,PHP 可能是更明智的选择。
总之,为您的项目选择正确的语言至关重要。在做出决定之前,权衡性能、开发时间和易用性等因素是很重要的。找到这些之间的正确平衡将导致成功和高效的项目。
Advantages of Using Manticore Buddy
Manticore Buddy 是一个强大的 Manticore Search 开发工具,提供多个优点以简化开发过程。以下是使用 Manticore Buddy 的一些主要好处:
- Speeding up the development process: Buddy 和 PHP 的直观界面使得快速且毫无痛苦地创建高效功能和扩展变得简单,从而节省时间并优化工作流程。
- Seamless integration with PHP packages: Manticore Buddy 是用 PHP 编写的,允许与其他基于 PHP 的包轻松集成。开发人员可以使用任何 PHP 包,从而缩短开发时间,成为一个有用且多功能的工具。作为最受欢迎的语言之一,PHP 是开发人员的一项宝贵资产。
- Improved accessibility for developers of all skill levels: 清晰的文档和用户友好的界面使 Buddy 对所有技能水平的开发人员可访问。这可以导致更广泛的贡献者池,从而增加灵活性并提供未来改进的潜力。
- Shipping extra features without updating C++ codebase: Buddy 使我们能够做一些强大的事情:在不经历漫长的 C++ 实现清单的情况下,快速发布改进、扩展,甚至新功能。相反,我们可以用 PHP 快速、可靠地完成。
Manticore Buddy 是任何使用 Manticore Search 并希望自行扩展的开发团队不可或缺的资产。其直观的界面、可以使用任何 PHP 包的能力,以及对所有技能水平的开发人员的可达性,使其成为改进 Manticore Search 开发过程的多功能工具,并提供实现特殊需求的灵活性。
How Manticore Buddy works
这一切都听起来很棒,但您可能想知道我们是如何让 Manticore Search 和 Buddy 一起工作的?我们为 Manticore Search 和 Buddy 实现了一个内部协议,以便它们可以相互通信。过程非常简单和直接。要在 Buddy 中添加内容并扩展其功能,您甚至无需了解协议,因为我们已完成所有的繁重工作,使其易于构建在其之上。
让我们以 SHOW QUERIES
请求为例:
- Manticore Search 接收查询。如果 C++ 代码中没有处理程序或者查询导致错误,它通常会将其返回给用户。然而,现在 Manticore Search 会首先请求 Buddy 尝试处理它。
- 所以 Manticore Search 使用基于 JSON 的内部通信协议将查询发送给 Buddy,并等待回复。
- Buddy 使用 ReactPHP 异步处理请求,并确保非阻塞性能。完成后,将结果返回给 Manticore Search。
- 最后,Buddy 的响应(无论是否有效)都被代理到客户端,并附上 Buddy 提供的结果。完成。简单,对吧?
这个过程如此简单而强大,以至于您可以通过在 Buddy 中用 PHP 实现自定义查询来轻松扩展和处理。
What Manticore Buddy can already do
Manticore Buddy 已经开发以支持 Manticore Search 的各种功能,无论大小。最新版本 Manticore 6.0.0 包含其中一些能力!
我们努力确定在初始版本中包含的最关键特性。这些包括
auto-schema
,它可以根据收到的第一个文档自动生成表,BACKUP
SQL 命令用于轻松备份表,以及 SHOW QUERIES
命令用于显示当前正在执行的查询。
支持多线程和非阻塞处理,using the Parallel PHP extension 以在单独线程中处理查询。如果 Manticore Buddy 意外停止,Manticore Search 将检测到并自动重启它。
I want to try! Teach me how to install it?
安装 Manticore Buddy 简单明了。“manticore-buddy” 包是 “manticore” 包的一个依赖项,在您安装 Manticore Search 时会自动安装。
然而,为了使 Manticore Buddy 正常工作,PHP 和一组模块是必需的。为了简化这个过程,我们开发了 Manticore Executor,这是一个带有所有必需模块的预编译 PHP 的专门版本。
您只需 安装 “manticore” 和 “manticore-extra” 包,即可运行 Manticore Search、Manticore Buddy 和 Manticore Executor。请不要担心,Manticore Executor 安装在一个独立的路径中,确保不会与您当前的 PHP 安装产生任何冲突。
接下来是什么?
您是否对 Buddy 能为我们带来的可能性感到兴奋?我们当然如此!我们有一些即将推出的功能已经完成并准备发布。多亏了 PHP 和 Manticore Buddy 的用户友好特性,我们能够轻松提供这些功能。以下是即将到来的小剧透:
- mysqldump - 现在使用该公共工具导出架构或数据比以往任何时候都容易,利用 mysqldump。
- 类似 MySQL 的 表呈现,使用
CLI
- Manticore HTTP 命令行接口。是的,只需向
/cli
端点发送一个 HTTP 请求,即可获得一个渲染的响应,该响应与终端中的 MySQL 客户端界面非常相似。 - 可插拔 架构。想象一下,只需几次点击和少量代码行就能为 Buddy 创建一个插件。您甚至可以将其发布到市场,并浏览现有插件以满足您的需求。听起来不可思议,对吧?
您已经可以通过利用我们的 Buddy 开发版本来测试这些功能。只需前往 dev installation 部分,了解如何在您的操作系统上安装它。
结论
Manticore Search 是一个开源搜索引擎,近年来受到了越来越多的关注。它被设计用于处理广泛的搜索需求,并在各种应用中使用,从电子商务网站到在线市场。任何开源项目的成功在很大程度上依赖于开发者的贡献,而 Manticore Search 也不例外。这就是 Manticore Buddy 的作用所在,帮助我们为社区更快地发布和推进。
Manticore Buddy 是一个强大而灵活的搜索助手,旨在使新功能的开发和扩展 Manticore Search 的功能变得更加快速和高效。其易于使用的界面、清晰的文档和庞大的社区使其成为任何希望加快工作流程的 PHP 开发人员的理想选择。
作为一名开发者,如果您希望释放 Manticore Search 的全部潜力,您应该考虑学习并为 Buddy 做出贡献。它将使您的生活更轻松,让您在不需要修改 C++ 代码的情况下更快地发布内容。想象一下,您可以通过编写 PHP 插件为您的用例添加自定义功能。强大!🙂
您想知道我们面临的挑战以及我们是如何解决这些挑战的吗?阅读我们的下一篇文章 – Manticore Buddy: challenges and solutions