• 在Domino应用程序中集成Google的Web API服务


    使用 Google 的 Web API 服务向 Domino 应用程序添加 Google Web 搜索功能。本文将展示如何使用一个简单的代理在应用程序中实现该搜索功能。请下载代码示例,开始 googling 吧!

    面对 Google 当前和不断扩充的 30 多亿个 Web 页面的索引,它之所以会成为在 Internet 上执行工业强度的搜索的最佳工具之一就不难理解了。除了其 Web 页面的数量之外,搜索结果的质量之高也归功于其专有的搜索算法,该算法建立在相关性和流行性的基础上。最近的报告表明,Google 每天以 88 种不同的语言响应 2 亿个搜索请求(平均每秒响应 2,300 个请求!)。而根据 SearchEngineWatch.com 的调查,Google 处理了基于 Web 的所有查询中的百分之七十五。

    显而易见,许多 Web 用户很熟悉 Google 及其搜索特性。不那么为人所知的事实是,您可以使用 Google 的 Web API 服务,将 Google 的搜索功能整合进自己的 Domino 应用程序中(正如我们将在下一节说明的那样,您可以免费下载这个 API)。本文讲述如何向 Domino 应用程序添加 Google 的搜索功能。我们将简要介绍 Google API 以及它们是如何工作的。然后我们将研究一个示例应用程序,它将 Google 搜索功能与 Domino 应用程序集成在一起。我们最后将提供一些如何扩充和定制这个简单例子的思路,从而结束本文的讨论。(本文中出现的所有例子都包含在一个 Domino 数据库中,您可以从 Sandbox下载该数据库。)

    本文假设您是对编写 Domino 代理很熟悉的有经验的 Notes 应用程序开发人员。虽然高级 Java 经验不是理解我们的例子所必需的,但是强烈建议您了解一些 Java 的基础知识。

    Google API


    要使用 Google 的 API,请从 Google 的 Web API 下载页面下载 Google Web API 开发者工具箱(Googleapi.zip),并创建一个免费的 Google 帐户以获得一个许可密钥。该密钥允许您每天最多执行 1,000 次搜索(您必须在发出搜索请求时在查询中包括此密钥。这是通过编程方式完成的,因此用户不必在每次执行查询时都键入该密钥)。该开发者工具箱附带了文档和例子,使您对 Google 的自动化搜索如何工作有一个基本的了解。

    在下载 Googleapi.zip 之后,请将它解压缩到 c:Googleapi 目录中。然后您就可以通过在 MS-DOS 命令提示符下键入以下命令来快速调用该 Web API: java -cp Googleapi.jar com.Google.soap.search.GoogleAPIDemo <key> search Lotus Domino > result.html ,其中 < key > 是您的注册密钥,“Lotus Domino”是您想要搜索的项,result.html 是您想要将搜索结果写到其中的文件的名称。例如,下面的例子:

    清单 1. 搜索结果
    ...
                Start Index = 1
                End Index = 10
                Estimated Total Results Number = 663000
                ...
                



    显示了估计的 663,000 项查询结果中的前 10 项结果。

    不过,如果您在 Google Web 站点上试验相同的查询,可能会获得不同的结果。例如,在 Google上针对“Lotus Domino”的相同查询将产生估计的 596,000 项结果。(Google API 支持团队已证实,该 Web API 和 Google 站点本身使用相同的搜索引擎和索引页面,搜索结果方面的细微差别可能是由 Google 所维护的许多数据中心造成的。)

    快速浏览一下 Googleapi 目录中的 GoogleAPIDemo.java:

    清单 2. 摘自 GoogleAPIDemo.java 的代码片断
    ...
                GoogleSearch s = new GoogleSearch();
                ...
                GoogleSearchResult r = s.doSearch();
                ...
                



    您可以发现 doSearch() 方法在设置许可密钥和搜索字符串属性之后调用了 Google 搜索。

    在继续下一个例子之前,让我们快速查看一下您将使用的 Google Web API 中的几个方法:

    setKey()设置用户许可密钥。
    setQueryString()设置查询字符串。
    doSearch()调用 Google 搜索。
    toString()返回 Google 搜索结果的格式化表示形式。
    getResultElements()返回结果元素的数组。
    getSnippet()返回一个代码片断,这个代码片断显示它出现的地方的 URL 环境中的查询。
    getSummary()在当前文档包含于 ODP 目录中时返回 ODP 摘要。
    getTitle()返回 HTML 格式的搜索结果标题。
    getURL()返回搜索结果的绝对 URL。
    此外,下面这组方法可以进一步完善您的搜索应用程序:

    setStartResult()设置要返回的第一个结果的索引。例如,如果有 500 个结果,您可能希望从第 100 个结果处开始返回。
    setMaxResults()设置每个查询要返回的最大结果数目。每个查询的最大值是 10。如果执行没有多少匹配项的查询,所获得的实际结果数目可能要比您所请求的少。
    setFilter()启用或禁用“相关查询”过滤器。这个过滤器排除非常相似的结果。
  • 相关阅读:
    使用CSS3制图
    hdu4585 &amp; BestCoder Round #1 项目管理(vector应用)
    ZooKeeperEclipse 小工具
    svn代码统计工具的金额
    【教你zencart仿站 文章1至6教训 高清1280x900视频下载】[支持手机端]
    [Django]models定义choices 字典中的页面显示值
    xml publisher根据条件显示或隐藏列
    hdu 1398 Square Coins(生成函数,完全背包)
    ubuntu软件中心崩溃
    PHP socket类
  • 原文地址:https://www.cnblogs.com/hannover/p/1338769.html
Copyright © 2020-2023  润新知