Google 搜索自动完成/自动建议功能缓慢

问题描述

我对基于 Google CSE 的搜索引擎的自动完成响应有疑问。 它从第三个字母开始自动完成,加载列表至少需要 2-3 秒。 其他自定义搜索脚本并非如此。

网站:https://searchpal.com

请指教,是否有以下代码或建议查询 URL 导致了这种缓慢?

谢谢大家

代码如下

/**
 * Suggests queries as the user types from Google auto-complete
 *
 * @return
 */
public function suggestQueries()
{
    $app = app();
    $q = $app->request->get('q');

    // Handle aborted connections
    // hopefully
    if (connection_aborted()) {
        return json([$q]);
    }

    if (empty($q)) {
        return json([$q]);
    }

    $locale = get_theme_active_locale();

    $url = "https://suggestqueries.google.com/complete/search?client=firefox&q={$q}&hl=$locale";
    $http = Http::getSession();
    try {
        $response = $http->get($url);
    } catch (\Exception $e) {
        // ssh!
        return json([$q]);
    }

    if (!$response->success) {
        return json([$q]);
    }

    $json = json_decode($response->body,true);

    if (empty($json[1])) {
        return json([$q]);
    }

    $data = [];
    //unset($json[1][0]);

    foreach ($json[1] as $value) {
        $data[] = $value;
    }

    return json($data);

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...