IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  Information Management | WebSphere | XML  >

将 WebSphere Information Integrator OmniFind Edition 的搜索结果发布为 RSS

developerWorks
文档选项

未显示需要 JavaScript 的文档选项

讨论

样例代码


级别: 初级

Srinivas Varma Chitiveli (schitive@us.ibm.com), 咨询软件工程师, IBM

2006 年 5 月 23 日

WebSphere® Information Integrator OmniFind™ Edition 是由 IBM® 提供的全文本企业搜索产品,设计的目的是提供出色的性能、伸缩性和结果,具有广泛的数据源支持。Really Simple Syndication(RSS)提要作为一种广泛使用的技术正在日益流行,企业使用这种技术向员工分发数据。本文将探讨如何轻松地将 RSS 的功能与 WebSphere Information Integrator OmniFind Edition 相结合,从而将 RSS 提要作为搜索结果进行分发。

简介

RSS 提要以标准的 XML 格式为基础,XML 格式可以实现信息的联合。使用 RSS 格式,可以创建数据提要,这些数据提要提供您 Web 站点的标题、链接和文章摘要。其他站点可以自动地将您的信息并入他们的页面内。您还可以使用其他站点的 RSS 提要按照自己的兴趣为您的站点提供时事标题或文章。这些技术可使您的站点吸引更多的访问者,并向他们提供最新信息。

每天,员工在日常工作中都要产生大量的文件,包括各种形式和大小的客户电子邮件、业务报告、产品手册,全都存储在不同的内容后端上。为了确保员工可以使用这些信息来做出业务抉择,公司通常向员工提供使用文本搜索访问此类信息的完整访问权限。这就是 WebSphere Information Integrator OmniFind Edition(本文下面称为 OmniFind)发挥作用的地方。IBM 搜索产品的设计目的是支持对各种各样内容资源(比如 Domino® 数据库、关系数据库、门户内容、文件系统、Web 内容和企业内容系统)提出的企业扩展搜索要求。OmniFind 提供丰富的功能,用于从单个访问点搜索多种业务信息,只需亚秒响应时间就能提供高度相关的搜索结果,同时涉及到数百万个文档以及数千个用户。

经常变更信息(如新闻、博客、股票)的 Web 站点已经广泛采纳 RSS 提要来发布最新的信息。用户配置 RSS 阅读器或在他们的 Web 站点上创建链接,或者创建基于 RSS 的 portlet 来访问 Web URL 或表示提要的物理文件。提要只是少量的重要数据,而不是使用户置身于信息的海洋中。当重新加载或者刷新 RSS 阅读器、Web 站点或 portlet 页面时,用户将访问提要。

配置一个对新闻组或档案文件或博客进行索引以生成 RSS 提要的搜索引擎,将可以为广大的提要阅读器提供相关信息。浏览来自博客或新闻 Web 站点的提要时,用户可以继续使用 internet 客户机(RSS 阅读器、Web 站点或门户页面)来搜索企业中的特定主题。

在基于 RSS 的客户机中配置有一个具有搜索项的 URL 时,用户就可以访问被周期性索引的数据上得到的搜索结果。必须刷新或重新加载客户机,才能获得最新的结果。

本文将介绍一个基于 J2EE™ 的应用程序,它以 OmniFind 为基础来搜索并返回 RSS 提要作为结果。返回的提要与 RSS 2.0 兼容。以下主题将描述如何安装、配置、使用这个应用程序。

下面是搜索组件和访问结果的客户机的高级图表:


图 1. 搜索组件
搜索组件

示例结果和 Web 客户机

在钻研细节之前,这里给出了搜索结果和 RSS 提要的可能用例。

Web 浏览器

您可以在 Web 站点上创建一个链接,以访问特定主题的 RSS 结果。可把主题映射为页面上的一些关键项。这需要对 JavaServer™ 页面进行一些定制。Web 站点上的链接可按照标准图像识别,并应该向搜索服务器提供一个完全填充的 URL。一旦单击链接,就会在新页面上显示搜索。参见下面的图 2 和图 3。


图 2. 带有链接的示例 Web 页面
带有链接的示例 Web 页面

图 3. 示例结果页面
示例结果页面

RSS 阅读器

要从很多网站聚集提要,可以选择很多商业化 RSS 阅读器,也可以选择免费的 RSS 阅读器。这些阅读器提供指定 URL 的功能,URL 返回 RSS 提要。启动或重新加载阅读器时,会对 URL 进行访问。参考下面的图 4 和图 5。 我已经使用 RSS 阅读器配置 URL,来搜索主题并显示结果。


图 4. 配置提要阅读器
配置提要阅读器

图 5. 阅读器中呈现的结果
阅读器中呈现的结果




回页首


前提条件

要使用本文中讨论的应用程序,您需要满足以下几点:

  • WebSphere Information Integrator OmniFind Edition (8.3 版本)应该安装在一个专用的服务器上。
  • 配置 WebSphere Information Integrator OmniFind Edition 以索引与 Web 站点或新闻组或 Domino 数据库相关的企业资源。
  • 用户可以使用 RSS 阅读器 或在 Web 站点上创建链接来访问提要或配置 RSS 提要 portlet。




回页首


安装 J2EE 应用程序

要使用本文中讨论的应用程序,您需要:

  • 下载附加的 ESRSSResults.ear 文件。这是标准的 J2EE 企业应用程序档案文件。
  • 使用 WebSphere 管理控制台将下载的应用程序部署到 WebSphere Application Server 上,最好是在 WebSphere Application Server 的 “服务器 1” 实例上。




回页首


配置示例应用程序

ESRSSResults.ear 是一个简单的基于 servlet 的 J2EE 应用程序,它调用已实现的 Search and Indexing API (SIAPI) 界面来搜索由 OmniFind 索引的 Enterprise 内容。结果做为 RSS 提要返回给客户机。.ear 文件只是对 RSS 提要做为搜索结果进行说明的一个示例。

如需了解更多关于 SIAPI 的知识,参见 参考资料 部分,在那里我给出了一些到其他 developerWorks 文章的有用链接。

在发布这个使用的应用程序前,WebSphere 管理员需要在一个叫做 confi.properties 的配置文件中修改默认设置。这个文件部署在 <WebSphere 安装目录 >/ESRSSResults.ear/ESRSSResults.war/WEB-INF 目录中。

更新以下条目以访问 OmniFind 驻留的可搜索内容:

  • 主机名=<WebSphere Information Integrator OmniFind Edition 的搜索服务器节点>
  • 端口=<HTTP 服务器端口号>

如果在 OmniFind 搜索节点上启用了全局安全性,那么指定以下凭证,从而搜索请求不提示需要用户凭证:

  • 用户名=<WebSphere Information Integrator OmniFind Edition 搜索节点上的有效用户>
  • 口令=<关联的口令>

这些只是启动应用程序所需的一些基本配置参数。配置文件中有几个字段,指定这些字段可定制在 RSS 提要中填充的内容。可定制的内容可以是通道的标题或描述。添加更多由适合您的组织的 RSS 2.0 规范提出的通道扩展,或者识别 URL 用于在维护搜索站点时指定信息。请参考 config.properties,在这个文件中的字段名称是自解释的。

RSS 2.0 指定至少 18 个可能的元素,它们中的 3 个是强制性的(<title/>、<link/> 和 <description/>)。根据企业的需求,config.properties 文件提供一个密钥,用来指定更多的通道元素(<webmaster/>、<textinput/> 或 <skipdays/> 是一些可能的元素)。





回页首


示例搜索

一旦成功地完成对应用程序的配置,用户就可以通过 URL 更新自己个人的 RSS 提要阅读器,URL 通过特定的查询项执行搜索并返回与阅读器兼容的结果。在本节中,我给出了大量的 URL 示例,它们可以帮助用户创建他们喜欢的 URL。

在随后的示例中,假设 <yourserver> 是服务器的名称,该服务器上将驻留 ESRSSResults.ear 应用程序。

搜索单个项,比如说 "IBM"

  • http://<yourserver>/ESRSSResults/rss.do?queryString=IBM

这个字段是强制性的,它识别查询项。为进行处理,多个查询项应该安全地编码。

搜索多个项,比如说 "IBM Domino"

因为 “空格” 是个特殊的字符,所以下面这个示例安全地编码了 URL 请求中的空格:

  • http://<yourserver>/ESRSSResults/rss.do?queryString=IBM%20Domino

注意:“%20” 表示 “空格” 的编码值。

参阅 参考资料 部分,我在那里指明了一个文档,它有助于您了解对 URL 进行特殊编码。同样在参考资料中,参阅应用程序开发者指南,它对查询字符串可接受的格式进行了描述。

搜索多个项,比如说 "+IBM -Domino +WebSphere"

下面这个示例安全地编码特殊字符(加号和减号):

  • http://<yourserver>/ESRSSResults/rss.do?queryString=%2BIBM%20%-Domino%20%2BWebSphere

注意:“%2B” 是 “+” 的编码值,“-” 不需要编码。

使用安全令牌进行搜索

OmniFind 可以配置来将文档与安全令牌或访问控制列表相关联。用户必须指定安全令牌或分配的访问控制(例如组名称),来检索对他们可见的文档。下面这个示例利用安全令牌或访问控制搜索文档:

  • http://<yourserver>/ESRSSResults/rss.do?queryString=business%20growth%20rate&acl=staff&acl=userid

acl 参数是可选的。如果未指定 acl,那么将返回被标记为公共访问的文档。如果指定了多个值,指定的 acl 将进行 “OR” 运算以得到最大的结果。

由于 RSS 提要是一种对普通受众公开的数据进行分发的标准格式,所以要确保 OmniFind 索引的内容不是机密的内容。而且让用户使用这种选项指定任意组将破坏安全性。实现筛选器是一个可取的做法,筛选器查询企业用户存储库(LDAP)来为已登录的组确定组。然后将发现的组作为 acl 参数追加到搜索 URL。

搜索特定的应用程序

以上所有示例都从 config.properties 中指定的默认应用程序返回结果。可搜索的集合按照应用程序名称进行隔离。如果 OmniFind 的管理员用集合(其中包含有关公司收入统计信息的文档)和一个叫做 “QuickHelp” 的应用程序(其中可能包含一些关于客户问题的文档)配置 “Finance” 应用程序,那么您可以为相关信息指定适当的应用程序名称。联系管理员获得一系列可搜索的应用程序名称。

在下面这个示例中,在名为 “Finance” 的应用程序中搜索 “business growth +programs”:

  • http://<yourserver>/ESRSSResults/rss.do?queryString=business%20growth%20%2Bprograms&appID=Finance

appID 参数是可选的。如果未指定 appID,将使用 config.properties 中指定的默认值。

同样,系统管理员应该谨慎对待索引机密数据,并应该使用应用程序 ID 将它们隔离。

搜索特定的集合

上一节提到的应用程序由一组集合组成。前面几节描述的示例查询以应用程序名称为基础。如果 URL 包含应用程序名称但是不包含集合 ID,那么查询将被提交给所有集合,结果将进行联邦。要使搜索结果更加细粒度,还可以指定感兴趣的集合。这种情况下,结果将不进行联邦。集合由惟一 ID 表示。联系管理员获得一系列与应用程序相关联的集合 ID。

在下面这个示例中,在名为 “col_2134” 和 “col_9876”、与 “Finance” 应用程序相关联的集合 ID 中搜索 “business growth +programs”:

  • http://<yourserver>/ESRSSResults/rss.do?queryString= business%20growth%20%2Bprograms&appID=Finance&colid=col_2134&colid=col_9876

colid 是可选的参数。如果未指定 colid,将在指定应用程序映射的所有集合范围内调用搜索查询。colid 可以表示多个集合 ID。

将结果排序

默认情况下,搜索结果按照关联性排序。您还可以配置 URL 来按照日期对结果排序。

在下面这个示例中,按照日期对结果排序:

  • http://<yourserver>/ESRSSResults/rss.do?queryString=business&sortKey=date

这是可选的参数。Relevancedate 是可能的值。

默认情况下,搜索结果按降序显示。搜索结果也可以按升序显示。

在下面这个示例中,按升序显示结果:

  • http://<yourserver>/ESRSSResults/rss.do?queryString=business&sortOrder=ascending&sortKey=date

这是可选的参数。Ascendingdescending 是可能的值。当 sortKey 设置为关联性时,搜索结果降始终是降序的。

变更生效时

如果管理员修改 config.properties 文件,当利用 “refresh=true” 调用后续的搜索请求时,变更将会生效。

在下面这个示例中,调用 J2EE 应用程序来使用定制的变更刷新它的配置。

  • http://<yourserver>/ESRSSResults/rss.do?refresh=true

注意: 这是一个管理任务。





回页首


结束语

在本文中描述的应用程序演示了 WebSphere Information Integrator OmniFind Edition 的测试搜索功能,以处理向用户社团分发企业信息的这种需求,这些用户社团链接到 RSS 提要以从企业内部网/互联网获取最新的信息。配置了 RSS 阅读器来访问大量 Web 站点的最新信息的用户还可以发现一个提要(这个应用程序的 URL)来访问企业中定期改变的公共内容。






回页首


下载

描述名字大小下载方法
Enterprise application archiveESRSSResults.ear4917KBHTTP
关于下载方法的信息


参考资料



关于作者

作者照片

Srinivas Varma Chitiveli 是 IBM 软件组的一名软件工程师。他参与开发了 IBM 产品,这些产品处理针对安全的电子商务事务、内容管理和跨分布式数据源搜索信息而发布数字证书相关的技术。




对本文的评价

太差! (1)
需提高 (2)
一般;尚可 (3)
好文章 (4)
真棒!(5)

将您的建议发给我们或者通过参加讨论与其他人分享您的想法.







回页首


IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款