在谷歌自定义搜索中强制使用逐字模式

7

是否可以强制谷歌自定义搜索默认使用逐字模式?

对于我使用的目的来说,逐字模式将产生最相关的结果,但用户可能不知道需要用引号括起来进行搜索。

我有一个想法,应该能够在字符串提交到谷歌之前使用Javascript添加引号,但我无法解决如何实现。

非常感谢您的帮助!

1个回答

0

你最好使用PHP代理或类似工具来编辑查询,以添加%22,将查询转换为"查询",然后再发送请求。

header('Content-type: application/json');

# Setup Base URL and array for Parameters
$host = 'https://www.googleapis.com/customsearch/v1?';
$queries = array();
$queries['cx'] = "CSEKey";
$queries['key'] = "YourAPIKey";

# Setup possible incoming params
if (isset($_GET['search_term'])) $queries['q'] = "%22"+ $_GET['search_term']+ "%22";
if (isset($_GET['result_count'])) $queries['result_count'] = $_GET['result_count'];
if (isset($_GET['callback'])) $queries['callback'] = $_GET['callback'];

# Build query and Final URL
$queriesURL = http_build_query($queries);
$finalURL = $host.$queriesURL;
/*
  DEBUG generated URL
  echo $finalURL;
*/

$response = file_get_contents($finalURL);

echo $response; 
?>

我相信这种技术强制使用了逐字模式,因为新的JSON响应缺乏通常的奇怪建议拼写名称:

 "spelling": {
  "correctedQuery": "Deo Vandski",
  "htmlCorrectedQuery": "\u003cb\u003e\u003ci\u003eDeo Vandski\u003c/i\u003e\u003c/b\u003e"
 },

我也看到了一些关于添加&tbs=li:1的内容,但是当我在搜索中尝试时并没有看到任何区别...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接