首页 > 解决方案 > 为每个请求创建一个新的弹性搜索客户端

问题描述

我正在检查我连接到elasticsearch主机服务器的应用程序的一部分,然后我意识到每次前端向我的后端发送报告请求时,我正在使用以下代码创建elasticsearch客户端类的实例:

$elasticClient = ClientBuilder::create()->setHosts($this->setHostsParams())->build();

由于我们的应用程序通过加载第一页向后端发送了大约 20 个请求,我正在考虑 PHP 的弹性搜索库是否能够优化启动阶段,或者是否有人对此有更好的解决方案,或者它可能不是毕竟这是一件大事,这不是真正的开销!?

PS:我对它进行了一些研究,但没有找到任何涵盖该主题的资源。

标签: phplaravelperformanceelasticsearch

解决方案


共享对象实例已经在这里和其他地方讨论过,所以我不打算讨论。

不过,我要指出的是,是否有一个名为 elasticsearch API 的 API_msearch可以让您同时发送多个搜索有效负载,并且系统将在所有单独的请求都解决后做出响应。这是一些示例 PHP 用法

如果您需要一次解决所有约 20 个请求,这可能会很有用——尽管如果您仅在用户向下滚动等之后才推迟其中一些请求,这可能是无用的。


推荐阅读