`
天梯梦
  • 浏览: 13747261 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

使用Google Custom Search打造站内搜索

阅读更多

链接:

Google AJAX 搜索 API

 

 

参考:

http://www.google.com/cse/docs/cref.html?hl=zh-CN

http://www.google.com/cse/manage/all

http://sofree.cc/custom-search-element/

 

一般来说,每个网站或博客系统都有其自带的搜索,但是很多系统的搜索功能比较简单,搜索结果往往不尽人意。就拿WordPress来说,我用一个关 键词搜索时,会出来很多不相关的结果,而且这些搜索结果不是按相关性排列,而是按发表的时间次序排列的。当文章较多时,我们很难通过搜索找到某一篇文章。

 

一直想使用Google来实现站内搜索,昨天终于做好了,效果就是顶部导航栏右边的搜索框。使用Google站内搜索有几个好处:

 

  1. 优化搜索,提高搜索结果的相关性
  2. 个性化搜索,一定程度提高博客亲和力与权威性
  3. 使用外部搜索,降低博客系统的资源消耗
  4. 与Google Adsense结合,实现盈利


如何使用Google Custom Search打造博客站内搜索?

 

首先来到http://www.google.com/coop/cse/ ,点击右侧按钮“Creat a Custom Search Engine”,然后会要求使用Google帐号登录,登录后就来到第一步。第一步要求填写基本信息,包括:

 

  • Search engine name - 给搜索取个名
  • Search engine description - 简单描述
  • Search engine keywords - 搜索关键词,提高搜索相关性
  • Search engine language - 搜索结果语言 (简体中文 simplified chinese)
  • 搜索范围:only sites I select
  • 填写要搜索的网站或博客地址 例如:www.waterylife.com
  • AD display - 是否展示广告,如果想结合adsense赚钱,就选Show ads on results pages
  • 同意条款

 

提交后,进入下图所示的页面,finish 就可以了。

 

我们可以进入控制面板control panel做一些设置。control panel下有一下菜单:

 

我们主要设置Look and Feel,Code,Make Money

  • Look and Feel 里选择搜索框的样式
  • Make Money 里 设置是否与Adsense结合
  • Code 里设置搜索结果展示页面

 

这里选择搜索结果展示在博客页面,以及其下面的iframe 项。iframe 项下面的 New ! 是使用ajax输出搜索结果,但是只有8个,而且不能make money。注意填“搜索结果展示的页面 ”。使用wordpress的朋友可以很容易在后台新增一个页面,然后将 Search results code 加入到这个页面即可(代码模式)。也可以手动建立一个静态页面,然后将代码加入到这个页面中。

 

Search box code 就是搜索框代码,将代码放到想显示搜索框的地方即可。Search results code 是搜索结果的代码,将其放在建立的页面即可。

 

大概就是这样了,具体的页面优化,可以根据自己博客的页面设计来制作,做到将搜索结果融入到页面,和谐一点。大家可以搜索本站看搜索结果的页面,以作参考。

 

 

参考 http://drupal.org/node/274441

 

参考代码:(替换 Your search engine ID )

 

<div id="cse-search-form" style="display:none;">Loading</div>
<div id="SubGeRight"></div>
 
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
  google.load('search', '1', {language : 'en'});
  google.setOnLoadCallback(function(){
    var customSearchControl = new google.search.CustomSearchControl('Your search engine ID');
    customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
    var options = new google.search.DrawOptions();
    options.setSearchFormRoot('cse-search-form');
    customSearchControl.draw('SubGeRight', options);
	customSearchControl.execute("<?php echo trim($_GET['keyword']) ?>");
  }, true);
</script>
<link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />
<style type="text/css">
  .gsc-control-cse {
    font-family: Arial, sans-serif;
    border-color: #FFFFFF;
    background-color: #FFFFFF;
  }
  input.gsc-input {
    border-color: #BCCDF0;
  }
  input.gsc-search-button {
    border-color: #666666;
    background-color: #CECECE;
  }
  .gsc-tabHeader.gsc-tabhInactive {
    border-color: #E9E9E9;
    background-color: #E9E9E9;
  }
  .gsc-tabHeader.gsc-tabhActive {
    border-top-color: #FF9900;
    border-left-color: #E9E9E9;
    border-right-color: #E9E9E9;
    background-color: #FFFFFF;
  }
  .gsc-tabsArea {
    border-color: white;
  }
  .gsc-webResult.gsc-result {
    border-color: #FFFFFF;
    background-color: #FFFFFF;
  }
  .gsc-webResult.gsc-result:hover {
    border-color: #FFFFFF;
    background-color: #FFFFFF;
  }
  .gs-webResult.gs-result a.gs-title:link,
  .gs-webResult.gs-result a.gs-title:link b {
    color: #CC2826;
  }
  .gs-webResult.gs-result a.gs-title:visited,
  .gs-webResult.gs-result a.gs-title:visited b {
    color: #CC2826;
  }
  .gs-webResult.gs-result a.gs-title:hover,
  .gs-webResult.gs-result a.gs-title:hover b {
    color: #CC2826;
  }
  .gs-webResult.gs-result a.gs-title:active,
  .gs-webResult.gs-result a.gs-title:active b {
    color: #CC2826;
  }
  .gsc-cursor-page {
    color: #CC2826;
  }
  a.gsc-trailing-more-results:link {
    color: #CC2826;
  }
  .gs-webResult.gs-result .gs-snippet {
    color: #000000;
  }
  .gs-webResult.gs-result .gs-visibleUrl {
    color: #858585;
  }
  .gs-webResult.gs-result .gs-visibleUrl-short {
    color: #858585;
  }
  .gsc-cursor-box {
    border-color: #FFFFFF;
  }
  .gsc-results .gsc-cursor-page {
    border-color: #E9E9E9;
    background-color: #FFFFFF;
  }
  .gsc-results .gsc-cursor-page.gsc-cursor-current-page {
    border-color: #FF9900;
    background-color: #FFFFFF;
  }
  .gs-promotion.gs-result {
    border-color: #336699;
    background-color: #FFFFFF;
  }
  .gs-promotion.gs-result a.gs-title:link {
    color: #0000CC;
  }
  .gs-promotion.gs-result a.gs-title:visited {
    color: #0000CC;
  }
  .gs-promotion.gs-result a.gs-title:hover {
    color: #0000CC;
  }
  .gs-promotion.gs-result a.gs-title:active {
    color: #0000CC;
  }
  .gs-promotion.gs-result .gs-snippet {
    color: #000000;
  }
  .gs-promotion.gs-result .gs-visibleUrl,
  .gs-promotion.gs-result .gs-visibleUrl-short {
    color: #008000;
  }
  /* by peikai*/
  .gsc-tabHeader.gsc-tabhActive{
	display:none;
  }
  .gs-webResult.gs-result .gs-snippet{
	  font-size:12px;
  }
  .gs-webResult.gs-result .gs-title {
	font-family:Georgia,"Times New Roman",Times,serif;
	font-size:13pt;
	overflow:visible;
   }
   .gs-webResult.gs-result .gs-title a {
   }
   .gs-result .gs-title, .gs-result .gs-title * {
	   color: #CC2826;
	   text-decoration:underline;
	}
	.gsc-wrapper{
		width: 600px;
	}
</style>

 

 

 

分享到:
评论

相关推荐

    google200, 基于google custom search api的google搜索镜像.zip

    在IT行业中,Google Custom Search API 是一个非常实用的工具,尤其对于那些希望在特定网站或网页集合中进行高效、定向搜索的用户来说。这个“google200”项目,正如其名,似乎是一个基于Google Custom Search API...

    Google custom search engine

    public class GoogleSearch { public static string SearchFromGoogle(string keyWord) { if (string.IsNullOrEmpty(keyWord)) return ""; // 替换为你的API密钥 string apiKey = "AIzaSyDw5YYctVRxdPxAe0...

    Google Custom Search API应用实例

    Google Custom Search API是谷歌提供的一项服务,...通过以上步骤,你已经掌握了如何使用C#和Google Custom Search API来实现自定义搜索功能的基础知识。在实践中,不断学习和优化,可以让你的搜索功能更加高效和实用。

    谷歌站内搜索

    谷歌站内搜索(Google Custom Search),是一种基于谷歌搜索引擎技术的定制化搜索解决方案,允许网站管理员在其网站上嵌入一个谷歌搜索框,专门用于搜索该网站内的内容。这种搜索方式不仅能够提升用户体验,还能提高...

    google search close 谷歌搜索类

    这种功能通常依赖于Google Custom Search JSON API,它允许开发者构建自定义的搜索体验,可以在网站上嵌入或独立使用。 首先,`GoogleCustomSearch.php`文件很可能是实现了与Google Custom Search API交互的PHP类。...

    (很流行的搜索功能)使用Google完成的搜索范例

    在IT行业中,搜索功能是网站和应用...无论是在站内还是站外搜索,Google的解决方案都能帮助我们实现这一目标。文件"GoogleSample"可能是包含示例代码、配置文件或教程文档,用于帮助开发者更好地理解和实现这一过程。

    百度+谷歌 搜索模块接口

    通过以上分析,我们可以看到这是一个简单的搜索模块接口实现方案,它允许用户选择使用百度或谷歌进行不同类型(如网页、新闻、视频等)的搜索。通过合理的HTML结构、CSS样式和JavaScript逻辑控制,实现了友好的用户...

    Jquery调用Google搜索API实现搜索引擎.rar

    1. **设置Google Custom Search Engine**: 首先,你需要在Google Developers Console创建一个新的Custom Search Engine,选择要搜索的网站或整个网络,并获取API密钥和CSE ID。 2. **整合jQuery和API**: 在`script....

    android_google_search_demo

    "android_google_search_demo"是一个项目,展示了如何在Android应用中利用Google的Custom Search JSON API来实现自定义的搜索功能。下面将详细介绍这个项目的相关知识点。 首先,Google Custom Search API允许...

    vela-data-scraping-aka-MMT:此存储库专用于数据删除,其中包括使用Google Custom Search API的Google搜索结果

    3. **API调用与权限管理**:使用Google Custom Search API需要Google Cloud Platform账号,并设置API密钥和自定义搜索引擎ID。在JavaScript中,安全地管理和使用这些凭据是关键,通常会使用异步请求(如AJAX或fetch ...

    google核心搜索jsp实现方式

    4. **设计JSP页面**: 创建一个JSP文件,例如`GoogleSearch.jsp`,在其中设计用户界面,包括一个搜索框和提交按钮。使用HTML和CSS来美化页面。 5. **处理用户输入**: 当用户提交搜索请求时,JSP页面将捕获查询字符串...

    利用Google AJAX Search API

    虽然Google AJAX Search API已退役,但Google提供了其他搜索API,如Custom Search JSON API,它可以通过HTTPS请求获取JSON格式的搜索结果。使用这个API时,你需要创建一个自定义搜索引擎并获取其ID,然后在请求中...

    Laravel开发-googlesearch

    而Google自定义搜索引擎(Custom Search JSON API)则允许开发者针对特定网站或一组网站进行定制化的搜索。 首先,你需要在 Google 开发者控制台创建一个新的项目,并启用 Custom Search JSON API。接下来,创建一...

    百度、谷歌搜索引擎API.zip

    其次,谷歌搜索引擎API主要指的是Google Custom Search JSON API。这个API允许开发者创建自定义的搜索体验,用户可以在特定的网站集合或者整个互联网上进行搜索。开发者需要创建一个Google Custom Search Engine并...

    jquery 分类搜索框防谷歌网站搜索页面

    4. **AJAX请求**:使用jQuery的`$.ajax()`方法,构造一个向谷歌API发送请求的URL,包含搜索关键词、搜索类型(网络、图像、视频等)以及你的Custom Search ID。设置适当的HTTP方法(GET或POST)和数据类型(JSON),...

    使用Custom Control自定义控件

    本文将深入探讨如何使用Custom Control来创建自定义控件,并分享一些关键知识点。 首先,我们需要理解控件(Control)的基本概念。控件是用户界面(UI)中的基本元素,如按钮、文本框、列表视图等,它们负责接收...

    Google AJAX Search API

    The Map Search Control is a simple to use application of the Google AJAX Search API that is designed to let you easily add a searchable map to your pages, sites, and blogs. The control on the right ...

    Python-goLinux命令行使用谷歌搜索的Python工具

    API(Application Programming Interface)允许不同的软件之间相互通信,此处可能涉及Google Custom Search JSON API或者Google Search Apis for Python库。 5. **命令行接口(CLI)设计**:开发这样的工具需要考虑...

    google-custom-form, 使用你自己设计的表单提交到google电子表格.zip

    google-custom-form, 使用你自己设计的表单提交到google电子表格 google-custom-form使用你自己设计的表单提交到google电子表格。###NOTE (8/4/2016):我更新了这个文档,以跟上Google对表单所做的更改。 过程现在与...

    MFC控件Custom Control使用源码

    在Microsoft Foundation Classes (MFC)库中,Custom Control(自定义控件)是开发者为了实现特定功能或界面效果,通过扩展标准Windows控件而创建的。MFC为开发者提供了便捷的方式来实现这一目标,使得我们可以利用...

Global site tag (gtag.js) - Google Analytics