在题库发芽网上试用了Google Ajax Search API

作者:半瓶墨水   链接:http://www.2maomao.com/blog/tiku-and-google-ajax-search-api/

fayaa_tiku_and_google_ajax_api

题酷发芽网在每个题目页面的右侧边栏底端都可以看到相关题目,这是最近对Google Ajax Search API的一次尝试。

插播一条广告:

欢迎订阅题酷发芽网的两个RSS: 最新题目 & 最新回答

关于Google Ajax Search API,不多说,自己看链接里面的内容,或者简单理解为:让你的网站都可以拥有Google那样快的搜索速度!

当然,前提是:Google索引了你网站的内容,而且是最新的,这个好办,做个sitemap就行了,有了这个,Googlebot抓的很勤劳的,Django自带了一个sitemap组件,很好用

另外,在题库发芽网的首页上,你可以看到右上方有个小小的搜索框,在里面输入“”然后回车,你就来到了题酷搜索结果页面里面,上面啥也没有,但是在右侧边栏最下面,你可以看到许多结果。

你还可以试试在那个Google搜索框里输入想搜索的内容,呵呵实时相应的哦。

另外: 如果你在题库发芽网上发过帖子的话,可能会注意到那里也有Ajax应用 – 比如你可以输入“二叉树”,然后按Tab把焦点挪到内容输入框,就会出现已经存在的相关问题列表,主要用来防止重复发文。

这个也是仿Stackoverflow的功能,Stackoverflow针对的是英文内容,只要mysql端支持full text search就可以做到,但是对于中文内容来说,还需要分词以及mysql中文匹配插件,做起来很费劲,就暂时用Google Ajax API替代了。

最后,关门,放代码:

JavaScript语言: 打算用在题库发芽网中的:基于Google API搜索同类内容
/*
*  How to load jQuery and then use the Search API with it.
*/

google.load("jquery", "1");

// on page load complete, fire off a jQuery json-p query
// against Google web search
function OnLoad(){
  var url = "http://ajax.googleapis.com/ajax/services/search/web?q=华容道游戏%20site:fayaa.com/code/view/&v=1.0&rsz=large&callback=?";
  $.getJSON(url, function (data) {
    if (data.responseData.results &&
        data.responseData.results.length > 0) {
      var results = data.responseData.results;
      var html = "";
      for (var i=0; i<results.length;i++) {
        var r = results[i];
        html += '<a href="' + r.url + '" title="' + r.content.replace(/(<([^>]+)>)/ig,"") + '">' + r.title + "</a><br/>";
      }
      $('#content').html(html);
    }
  });
}

google.setOnLoadCallback(OnLoad);

留下回复