白桦的天空

第一次的心动,永远的心痛!
  首页  :: 新随笔  :: 联系 :: 管理

借用 Google 构建自己的搜索系统

Posted on 2005-04-07 14:21  白桦的天空  阅读(445)  评论(0编辑  收藏  举报

随着网络越来 越发达,互联网上的资料多的只能以海量的海量来形容。如何从海量的数据中找到自己需要的数据呢?Google 解决了这个问题,为我们提供了优秀搜索服务。现在我们可以借用 Google 来构建自己的搜索系统。这里构建 的搜索系统不是把 Google 提供的一段 html 代码嵌入到网页,这样只是制造了一个 Google 搜索入口而已。

Google 提供了一个 Google Web API 开发包,核心用到了 Web Service 技术。如果你不了解 Web Service 技术,不熟悉 XML,不要紧,开发包里面的 googleapi.jar 已经为我们提供 Java 访问的方法。Google Tag Library 是开源项目,在 googleapi.jar 基础之上提供更简单方便 JSP 标记库。我们将以 googleapi.jar 和 Google Tag Library 为核心开始构建自己的搜索系统。

一 安装 Tomcat

从这里下载 Tomcat : http://jakarta.apache.org/tomcat/,如何安装配置 Tomcat 请参考其相关文档。

二 Google Web API 开发包

Google Web API 开发包对个人非商业用途是免费的,先访问 Google 开发包下载 页面,把开发包下载到本地。Google 限制了要有 license key 才能正常使用。先注册一个帐号, 获取 license key, Google 将这个 license key 发送你注册的邮箱。这个 license key 同时也是限制每天 只能搜索 1000 次。

三 安装配置 Google Tag Library

访问 Google Tag Library 站点,为了方便,我直接下载了 war 文件,这个 war 文件包含了简单的 JSP 范例,可以直接使用。我下载的是 google-examples-1.0.1.war.zip ,把这个文件解压到 tomcat/webpapp 目录下,并改名为 google。然后把 Google Web API 开发包里面的 googleapi.jar 放到 tomcat/webapps/google/WEB-INF/lib 目录下。

接着修改 tomcat/webapps/google/WEB-INF/web.xml 文件,输入 license key,把

<context-param>
    <param-name>google_key</param-name>
    <param-value/>
    <description>The Google Web APIs client authorization key.</description>
</context-param>

修改为(假设我的 license key 是 000000000000000000000000)

<context-param>
    <param-name>google_key</param-name>
    <param-value>000000000000000000000000</param-value>
    <description>The Google Web APIs client authorization key.</description>
</context-param>

如果你需要代理才能访问 Google 的话,你可以在 web.xml 设置好你的代理参数,这里就不细说:

<context-param>
    <param-name>google_proxy_host</param-name>
    <param-value/>
    <description>The host to use as an HTTP proxy.</description>
</context-param>
<context-param>
    <param-name>google_proxy_port</param-name>
    <param-value/>
    <description>The port to use as an HTTP proxy.</description>
</context-param>
<context-param>
    <param-name>google_proxy_username</param-name>
    <param-value/>
    <description>The username required for the HTTP proxy.</description>
</context-param>
<context-param>
    <param-name>google_proxy_password</param-name>
    <param-value/>
    <description>The password required for the HTTP proxy.</description>
</context-param>

四 启动服务并测试

首先启动 Tomcat,然后访问 http://localhost:8080/google/advanced.html,你就会看到一个类似 Google 的搜索页面,输入你想搜索的关键字,看看是否返回你需要的资料。

五 定制

Google Tag Library 提供的范例比较简单,而且在中文的处理有问题,需要定制并修改。首先把 advanced.html 文件中的

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

修改为

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

然后把

<%@ page contentType="text/html;charset=utf-8" %>

增加到 advanced.jsp 文件的顶端。同时你可以根据自己的喜好修改页面的显示风格,需要注意的是,一定 要把文件以 UTF-8 编码来保存,否则文件的中文将不能正确显示。最后来看看我修改定制的搜索系统: