【问题标题】:Force verbatim mode in Google Custom Search在 Google 自定义搜索中强制逐字模式
【发布时间】:2015-01-12 09:50:11
【问题描述】:

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

出于我使用它的目的,逐字模式将产生最相关的结果,但用户可能不知道将他们的搜索放在引号中。

我有一个想法,我应该能够在将字符串提交给 Google 之前使用 Javascript 添加引号,但我不知道怎么做。

任何帮助将不胜感激!

【问题讨论】:

    标签: google-custom-search


    【解决方案1】:

    最好的办法是使用 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 的信息,但我在尝试搜索时没有发现任何区别......

    【讨论】:

      猜你喜欢
      • 2019-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-03
      • 1970-01-01
      • 2016-02-17
      相关资源
      最近更新 更多