在 IBM WebSphere Portal V6.1 中整合 IBM OmniFind 搜尋

CloudSpace發表於2010-03-11

轉自: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 內容如下:
        
        
        
        
          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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章