问题描述
我对基于 Google CSE 的搜索引擎的自动完成响应有疑问。 它从第三个字母开始自动完成,加载列表至少需要 2-3 秒。 其他自定义搜索脚本并非如此。
谢谢大家
代码如下
/**
* 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 (将#修改为@)