全文搜尋維護

維護全文搜尋需要一些不常用的作業,如:修復有問題的記錄、清除作業日誌檔、將索引最佳化、調整 Solr 效能,以及更新配置以將變更納入綱目中。

修復有問題的記錄

當記錄擷取程式以批次或更新模式執行時,有時可能會無法處理記錄。發生這個狀況時,記錄擷取程式會建立對應於失敗記錄的修復檔。修復檔會寫入 ClearQuest 搜尋內容檔 CQ-db_name-dbset_name.xml 所在的目錄,其通常是 Solr 起始目錄。請監視這個目錄以檢查失敗處理的情況,並以修復模式使用記錄擷取程式來處理有問題的記錄。請參閱 cqtsdbcrawler 參考說明以取得用法資訊。

清除作業日誌

依預設,使用者資料庫中不會發生清除作業日誌 (oplog)。當您實作 oplog 清除原則來將浪費的空間降至最低時,請小心使用以避免過早移除 oplog。oplog 存在的時間應該夠長,以供更新模式記錄擷取程式處理。如果很長一段時間未執行更新模式記錄擷取程式,當它回復時,其會從處理尚未處理的最舊更新 oplog 開始。

如果您正在執行 ClearQuest MultiSite,全文搜尋 oplog 清除原則不應比現有的 ClearQuest MultiSite oplog 清除原則還嚴苛。

請參閱關於 oplog 清除的 ClearQuest MultiSite 說明,以取得詳細資料。

回到頂端

將索引最佳化

經過一段時間,當您新增、修改及刪除新的 ClearQuest 記錄時,Lucene 索引會分段,如此會降低效能。

如果要將索引最佳化,請完成下列步驟:
  1. 將目錄切換至 ClearQuest 起始目錄。
  2. 於命令提示字元,以最佳化模式執行記錄擷取程式:
    cqperl cqtsdbcrawler.pl -optimize CQ-db_name-dbset_name.xml -site site_name

如果您未執行 ClearQuest MultiSite,您可以省略 -site 選項。請參閱 cqtsdbcrawler 參考說明以取得用法資訊。

回到頂端

調整 Solr 效能

Solr 搜尋引擎不應使 ClearQuest 的效能受到妨礙。不過,如果您如此懷疑,請先依前一節所述,嘗試將 Lucene 索引最佳化。也請考量下列措施,將 Solr 效能最佳化:

  • 增加「Java 虛擬機器 (JVM)」的記憶體配置。 請不要以預設記憶體配置來啟動 Solr,而是配置 Xms512M 和 Xmx1024M。

    請注意,當您以批次模式執行記錄擷取程式,然後加以重設時,您可能需要暫時增加 JVM 記憶體配置。

  • 將 Solr 起始目錄移至快速輔助硬碟。 搜尋引擎會耗用大量硬碟、處理器和記憶體,特別是如果您有大型索引時更是如此。相較於使用標準 54,000 RPM 硬碟,如果將 Solr 起始目錄移至具有 10,000 RPM 和快速探查時間的快速輔助硬碟,Solr 效能會大幅提昇。即使使用與作業系統分割區區隔的分割區,也可以提昇效能。
  • 增加伺服器的實體記憶體、處理器數,以及時脈速度。
  • 調整 Solr 配置檔 solrconfig.xml 中的效能設定。 請參閱 Solr 網站,以取得詳細資料。
  • 減少要製作索引的記錄類型數和關聯的欄位。
  • 在專用伺服器上安裝 Solr。
  • 啟用 Solr 主要和從屬配置。 這項配置會耗用兩倍的 Lucene 索引預設配置磁碟空間,但會提供穩定的效能,即使對索引發出大量需求亦然。
  • 請參考 Solr 網站,以取得其他效能調整要訣。

回到頂端

納入綱目變更

資料庫綱目的變更經常需要搜尋綱目對應的變更。範例如下:
  • 新增實體。 如果新的實體是可提交的記錄類型,且您要利用 ClearQuest 全文搜尋使其可搜尋,您必須更新 ClearQuest 搜尋內容檔 CQ-db_name-dbset_name.xml 和 Solr 綱目檔 schema.xml,來處理新的記錄類型。要執行這項作業,請重複下列您之前執行過的步驟:
    1. 建立及編輯實體檔。
    2. 建立及編輯 ClearQuest 搜尋內容檔。
    3. 建立 Solr 搜尋檔。
    4. 更新 Solr 綱目檔 schema.xml 來配置要製作索引的記錄,然後重新啟動 Solr。
    5. 執行 installutil setmasterpropertyfromfile 次指令,將 ClearQuest 搜尋內容檔 CQ-db_name-dbset_name.xml 上傳至使用者資料庫。

    更新模式記錄擷取程式下次製作索引時,即會使用更新過的 ClearQuest 搜尋內容檔。

  • 新增欄位至實體。 如果新增欄位的實體是可提交的記錄類型,且您要製作欄位的索引,請遵循剛剛針對新增實體所敘述的相同程序。
  • 重新命名實體。 如果您重新命名 ClearQuest 綱目中的實體,請遵循剛剛針對新增實體所敘述的相同程序。此外,您還需要執行下列步驟:
    1. 重新製作已重新命名之記錄類型的索引:
      1. 建立新的 ClearQuest 搜尋內容檔,其中只含已重新命名的記錄類型。
      2. 以批次模式執行記錄擷取程式 (cqperl cqtsdbcrawler.pl -batch)。
    2. 發出下列 Solr 指令來刪除屬於舊實體名稱的所有記錄類型:
      在 Windows 上:
      1. cd %SOLR_HOME%\yourSchemaName\Solr\exampledocs\
      2. java -Ddata=args -jar post.jar "<delete><query>record_type:recordTypeName</query></delete>"
      在 UNIX 系統和 Linux 上:
      1. cd $SOLR_HOME/yourSchemaName/Solr/exampledocs/
      2. java -Ddata=args -jar post.jar "<delete><query>record_type:record_type</query></delete>"
  • 重新命名實體的欄位。如果您重新命名 ClearQuest 綱目中實體的欄位,請遵循剛剛針對重新命名實體所敘述的相同程序。

回到頂端


意見