在 IBM WebSphere Portal V6.1 中集成 IBM OmniFind 搜索

转自:http://www.ibm.com/developerworks/cn/lotus/portal61-omnifind/index.html

IBM WebSphere Portal 中无缝集成的 Portal 搜索引擎可同时支持 IBM Lotus® Quickr™ 和 Web Content Management 等多种数据源。对于规模大小适中的 IBM Lotus® Quickr™ 和 Web Content Management 数据源,Portal 内置搜索引擎能提供理想的搜索解决方案。但当使用 Portal 搜索引擎时,通常需要对数据源进行诸多配置过程,这往往比较耗时;而且当数据源的数据量达到一定规模时,Portal 内置搜索引擎性能通常会严重下降。这时,就可以考虑使用 OmniFind 搜索特定数据源,并将 OmniFind 集成到 Portal 中,然后在 Portal 中直接搜索相应的数据集。这也能为有此需求的客户在短期内提供适当的解决方案。

本文对 IBM OmniFind V8.5 FP1 中针对 IBM WebSphere Portal V6.1 的独立搜索模块进行了简介,并详细说明了如何在 WebSphere Portal V6.1 中集成 OmniFind 8.5 FP1 搜索引擎。最后,本文还对在 OmniFind 8.5 FP1 中 Portal 搜索器的替代搜索器 seed list crawler 进行了介绍,对如何配置 seed list 搜索器的关键过程加以了说明,并对搜索器在 Crawl 中容易出现的问题提供了解决方案。

OmniFind 8.5 FP1 中 Portal V6.1 独立的搜索模块简介

具有和 IBM WebSphere Portal 搜索引擎相同底层技术的 IBM OmniFind 企业级搜索引擎在性能和延展性上有了很大的提高。OmniFind 企业搜索系统为搜索任意数量的结构化和非结构化数据源提供了广泛的能力,而且它支持单点访问。OmniFind 企业搜索引擎理所当然应该成为既对搜索的延展性有很高要求,同时又要求搜素引擎支持多种数据源的客户的首选。还有一点:WebSphere Portal 搜索引擎适合于小到中等规模的数据源,而 OmniFind 适用于大型数据源。


图 1. OmniFind 与 Portal search 对比
图 1. OmniFind 与 Portal search 对比

在 Portal V 6.1 中集成 OmniFind 8.5 FP1 搜索

前提条件

本文假设您已经在 Windows 操作系统上安装了单节点的 OmniFind 8.5,并且已经装上了 Fix Pack 1(以下简称 OmniFind FP1)。您所使用的 Portal 版本是 Websphere Portal and Lotus Web Content Management 6.1.0.1( 以下简称 Portal V6.1)。值得一提的是从 Portal V6.1 开始,Portal 分成两种安装镜像:IBM Websphere Portal 6.1.0.1 和 IBM Websphere Portal and Lotus Web Content Management 6.1.0.1,二者最显著的区别是有无集成 WCM 组件。

原理介绍

WebSphere Portal 为用户提供了与其它应用、内容、进程等相互交互的单点登录机制。这样用户可以将应用,比如 portlet 部署到 WebSphere Portal 上,而不会影响 Portal 中已有的其它应用。我们可以通过将 OmniFind FP1 的 Search portlet 部署到 WebSphere Portal 上,并进行一些简单配置,就可以在 Portal 的界面中,对企业级的集合进行搜索,并且可以利用搜索结果。企业级搜索引擎所支持的各种数据源都可以被搜索,这大大提高了 WebSphere Portal 的搜索能力。同时我们也可以将 OmniFind 企业级搜索 portlet 作为 WebSphere Portal 默认的搜索引擎。

集成过程

以下是一种将 OmniFind FP1 企业级 Search portlet 集成到 WebSphere Portal 中的过程:

  1. OmniFind FP1 企业搜索引擎为 OmniFind FP1 和 Portal V6.1 集成提供了集成脚本。为实现继承,用户首先要将 es.wp61.install.jar 从 OmniFind FP1 安装目录 $ES_INSTALL_ROOT/bin 拷贝到 Portal V6.1 的服务器上。并且用如下命令解压文件:
    jar – xvf  es.wp61.install.jar
    				

  2. 打开一个命令窗口,切换到刚才的解压目录,执行如下命令:

    图 2. 运行集成脚本的例子
    图 2. 运行集成脚本的例子

    其中的参数说明如下:

    • WPSProfileDir 是 WebSphere Portal profile 目录的完整路径;
    • WASDir 是 WebSphere Application Server 的安装根目录;
    • WASUser 和 WASPassword 是 WebSphere Application Server 的管理员用户名和密码;
    • WPSDir 是 WebSphere Portal 完整的安装路径;
    • WPSUser 和 WPSPassword 是 WebSphere Portal 管理员用户名和密码;
    • WPSHost 是 WebSphere Portal 服务器的主机名和端口。
  3. 确保以上命令执行完毕并且没有错误,然后登陆 Portal 管理界面,可以看到一个 More 选项出现在页面最上部。

    图 3. 集成到 Portal 中的 OmniFind Search
    图 3. 集成到 Portal 中的 OmniFind Search

    点击 More 能看到,集成到 Portal 中的 OmniFind search Portlet 如下图:



    图 4. OmniFind 的 Search portlet
    图 4. OmniFind 的 Search portlet

    但此时还不能使用 OmniFind search 搜索 OmniFind FP1 的搜索集。要使用 OmniFind search 还需要通过下一步配置:

  4. 接下来执行以下步骤直到能够在 Portal V6.1 中使用 OmniFind search:
    1. Administration > Portlet Management > Portlets > 选择 title contains,然后搜索 “enterprise search ”。
    2. 此时点击编辑按钮修改 enterprise search portlet 中的三个参数:hostname、password 和 user。将 Hostname 修改成 OmniFind 的 IP 地址;user 和 password 分别选择 OmniFind 的用户名和密码。
    3. 切换到 Portal 管理界面点击最上面的 More 然后点击 enterprise search。
    4. 接下来就可以测试 Portal 中集成的 OmniFind 搜索了。


    图 5. Portal V6.1 中的 OmniFind search Portlet
    图 5. Portal V6.1 中的 OmniFind search Portlet

    OmniFind FP1 中为 Portal V6.1 配置 seed list crawler

    1. 配置一个 seed list Crawler,配置界面如下:

      图 6. 配置一个 Seed List Crawler
      图 6. 配置一个 Seed List Crawler

      点击下一步:



      图 7. 测试配置()
      图 7. 测试配置

    2. 测试连接没有问题,接下来启动 seed list crawler,会发现搜索器会遇到错误而停止。失败原因将在后面做简要分析。

      图 8. 启动 Seed List Crawler()
      图 8. 启动 Seed List Crawler

    3. 通过页面上显示的 URL,OmniFind FP1 为 Portal V6.1 生成的 URL 格式如下所示: “https://:10041/seedlist/myserver?Action=GetDocuments&Start=0&Range=1500”。

      事实上,当 Portal 从 6.0 升级到 6.1 以后,OmniFind 为针对 Portal 的 crawler 从针对 Portal V6.0 的 Portal crawler 升级到针对 Portal V6.1 的 seed list crawler。

      对比 OmniFind 为 Portal V6.0 生成的 seedlist URL 和此处 seedlist crawler 生成的 URL 可以看出,这其中有一个关键的参数丢失了,Source=com.ibm.lotus.search.plugins.seedlist.retriever.portal.PortalRetrieverFactory。当我们通过添加这样一个参数并生成新的 URL 如下所示:

      https://:10041/seedlist/myserver?Source=com.ibm.lotus.search.plugins.seedlist.retriever.portal.PortalRetrieverFactory
      &Action=GetDocuments&Start=0&Range=1500

      我们就可以通过此 URL 直接在浏览器中获得该 seedlist。

      所以,我们可以通过添加一个扩展的 XML 文件,遵循以下步骤:

      1. 在 ES_NODE_ROOT/master_config/collection_id.crawler_id 目录下,创建一个名字为 seedlistcrawler_ext.xml 的 XML 文件。
      2. seedlistcrawler_ext.xml 内容如下:
        <?xml version="1.0" encoding="UTF-8" ?>
        
        100
              &Source=com.ibm.lotus.search.plugins.seedlist.retriever
                  .portal.PortalRetrieverFactory
          

    4. 完成上述步骤,再次启动搜索器。

      图 9. 再次启动搜索器()
      图 9. 再次启动搜索器

    5. 登陆 ESSearchApplication,并搜索包含 seed list crawler 的集合:

      图 10. 搜索 OnmiFind FP1 中 Collection()
      图 10. 搜索 OnmiFind FP1 中 Collection

搜索失败分析

Portal 从 6.0 升级到 6.1 以后,OmniFind FP1 针对 Portal 的 crawler 从针对 Portal V6.0 的 Portal crawler 升级到了 seed list crawler。而这两种 crawler 在实现机制上并没有太大改动,只不过 Portal crawler 只针对 Portal V6.0,而 seed list crawler 除了支持 Portal V6.1,还支持其他一些数据源。但在产品相互集成过程中,往往由于某产品升级会导致新的问题产生,在本文配置 seed list crawler 的过程中,由于我们使用的 Portal 从 6.0 升级到了 IBM Websphere Portal and Lotus Web Content Management 6.1.0.1,OmniFind FP1 在生成 seed list 时由于丢失关键参数,导致了 Crawler 启动的失败。

结束语

本文主要对 OmniFind FP1 中独立的 Portal 搜索模块进行了介绍,同时主要对 OmniFind FP1 和 PortalV6.1 集成步骤加以了说明。最后给出了在使用 seed list 搜索器中可能出现的问题并提出了解决方案。集成以后,就可以利用 OmniFind 直接爬行、解析、索引多种数据源,比如 IBM Lotus Quickr 和 Web Content Management。在 Portal 中直接搜索 OmniFind 中的集合,从而避免了直接用 Portal 搜索引擎去配置爬行这些数据源。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14789789/viewspace-629210/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14789789/viewspace-629210/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值