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

Introducing Buddy: the PHP sidecar for Manticore Search

Manticore Buddy 是一个基于 PHP 的旁路应用和 Manticore Search 伴侣,它使开发更快更高效。在 C++ 开发可能缓慢的世界中,Manticore Buddy 赋予开发者快速创建和部署功能的能力。

得益于 PHP 语言及其庞大的社区,Manticore Buddy 提供了更高的灵活性和用户友好性。此外,随着最新版本 8+ 的发布,PHP 现在比以往任何时候都更快,使其成为希望加快工作流程的开发者的理想选择。

C++ 与 PHP:为您的需求选择合适的语言

在构建高性能软件时,C++ 通常是首选语言。然而,其开发过程可能漫长而复杂,导致许多开发者寻求能提高生产力的替代方案。其中一种流行的替代语言是 PHP,它以用户友好性和快速性能著称。

在 Manticore Search,我们也有类似的问题,即需要频繁发布更新的同时保持高性能。为了解决这个问题,我们开发了 Buddy——一个使用 PHP 实现功能的旁路应用,这些功能不需要最高性能。

最终,使用 C++ 或 PHP 的选择取决于您的项目需求。如果性能是首要考虑因素,C++ 是最佳选择。另一方面,如果您更倾向于快速开发和易用性,PHP 可能是更明智的选择。

总之,为您的项目选择合适的语言至关重要。在做出决定之前,权衡性能、开发时间和易用性等因素非常重要。找到这些因素之间的平衡将带来成功且高效的项目。

使用 Manticore Buddy 的优势

Manticore Buddy 是 Manticore Search 开发的强大工具,提供多种优势以简化开发流程。以下是使用 Manticore Buddy 的一些关键好处:

  • 加快开发流程:Buddy 和 PHP 的直观界面使创建高效功能和扩展变得容易快捷,无需痛苦,从而节省时间并优化工作流程。
  • 与 PHP 包的无缝集成:Manticore Buddy 是用 PHP 编写的,允许与基于 PHP 的其他包轻松集成。开发者可以使用任何 PHP 包,减少开发时间,使其成为一个有用且多功能的工具。作为最受欢迎的语言之一,PHP 是开发者的宝贵资产。
  • 提高所有技能水平开发者的可访问性:清晰的文档和用户友好的界面使 Buddy 对所有技能水平的开发者都易于使用。这可能导致更多贡献者参与 Manticore Search 的开发,增加灵活性并提供未来改进的潜力。
  • 无需更新 C++ 代码库即可发布额外功能:Buddy 使我们能够实现一个强大的功能:无需经过我们漫长的 C++ 实现检查表,即可发布改进、扩展甚至新功能。相反,我们可以使用 PHP 快速可靠地完成。

对于任何使用 Manticore Search 并希望自行扩展它的开发团队来说,Manticore Buddy 是一个无价的资产。其直观的界面、使用任何 PHP 包的能力以及对所有技能水平开发者的可访问性,使其成为一个多功能工具,以改进 Manticore Search 的开发流程并提供满足特殊需求的灵活性。

Manticore Buddy 的工作原理

听起来很棒,但您可能想知道我们是如何让 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 实现自定义查询即可轻松扩展和处理它们。

Manticore Buddy 已经能够做什么

Manticore Buddy 已经开发出来,以支持 Manticore Search 的广泛功能,无论大小。最新版本 Manticore 6.0.0 包含了这些功能中的一些!

我们努力确定在初始版本中包含最关键的功能。这些包括 auto-schema ,它根据接收到的第一个文档自动生成表,BACKUP SQL 命令用于轻松备份表,以及 SHOW QUERIES 命令用于显示当前执行的查询。

多线程和非阻塞处理都得到支持,使用 Parallel PHP 扩展在单独的线程中处理查询。如果 Manticore Buddy 意外停止,Manticore Search 会检测到并自动重新启动它。

我想试试!教我如何安装?

安装 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 - 现在使用广泛用于 MySQL 的工具 mysqldump 来转储模式或数据比以往任何时候都更容易。
  • 通过 CLI 的类似 MySQL表渲染 - Manticore HTTP 命令行接口。是的,只需向 /cli 端点发送 HTTP 请求,即可接收一个在终端中与 MySQL 客户端界面非常相似的渲染响应。
  • 可插拔 架构。想象一下,只需点击几次和几行代码,就可以为 Buddy 创建一个插件。您甚至可以将其发布到市场,浏览现有插件以满足您的需求。听起来不可思议,不是吗?

您可以通过使用我们的 Buddy 开发版本来提前测试其中的一些特性。只需前往 dev 安装 部分,了解如何在您的操作系统上安装它。

结论

Manticore Search 是近年来日益流行的开源搜索引擎。它被设计用于处理各种搜索需求,并应用于各种应用程序,从电子商务网站到在线市场。任何开源项目的成功在很大程度上都依赖于开发者的贡献,Manticore Search 也不例外。这就是 Manticore Buddy 出现的原因,它帮助我们为社区更快地推出和推进功能。

Manticore Buddy 是一个强大且灵活的搜索伴侣,旨在加快新功能的开发和 Manticore Search 功能的扩展。其易于使用的界面、清晰的文档和庞大的社区使其成为任何希望加快工作流程的 PHP 开发者的理想选择。

作为开发者,如果您想充分发挥 Manticore Search 的潜力,您应该考虑学习并为 Buddy 做出贡献。它将使您的生活更轻松,无需修改 C++ 代码即可更快地推出功能。想象一下,您只需编写一个 PHP 插件,就可以为您的用例添加自定义功能。强大!🙂


您想知道我们面临了哪些挑战以及我们是如何解决的吗?阅读我们的下一篇文章 – Manticore Buddy:挑战与解决方案

安装Manticore Search

安装Manticore Search