Documentation
(C) IBM Corp. 1996, 2000

DB2 Text Extender


維護文字索引

下列是維護作業:

您可在任何時間、用任何順序來執行這些作業。

更新索引

摘要

時間
必須立即更新索引,而不是等到週期性索引時。(關於週期性索引的相關資訊, 請參閱啟用文字直欄。)

指令
UPDATE INDEX

授權
表格上的 ALTER、SELECT、UPDATE

此範例會更新共用索引表格的索引:

     db2tx UPDATE INDEX db2tx.mytable

此範例會更新多重索引表格之直欄的索引:

     db2tx UPDATE INDEX db2tx.mytable HANDLE commenthandle

使用此指令,可立即更新索引,而不需等到下次自動週期性索引時。在您將數份文字文件新增到資料庫, 且想立即搜尋它們時,這個指令十分有用。

DB2 Text Extender 會為此直欄(或表格中的所有直欄)中所插入或變更的文字文件編製索引, 並移除已刪除之索引及文件中的術語。 與索引有關的日誌表格中, 含有已插入、更新與刪除的文件相關資訊。

更新外部檔案的索引

日誌表格並不會自動包含已索引之任何外部檔案的變更相關資訊 (請參閱啟用外部文字檔), 例如用絕對路徑名稱相同的新版本來取代文件。DB2 Text Extender 無法在日誌表中監督這些檔案的更新, 因為更新不在 DB2 UDB 的範圍內。

若要讓外部檔案的更新反應在 DB2 Text Extender 索引中, 您可做下列處理:

  1. 在對應的 handle 直欄上發出實際上不會發生任何影響的更新陳述式, 強迫將「變更」登錄放置到日誌表格中:
        UPDATE table
        SET    filehandlecol = filehandlecol
        WHERE  DB2TX.FILE(filehandlecol) = filename
    

    其中 filename 是所更新之外部檔案的絕對路徑名稱。

  2. 執行 UPDATE INDEX 可更新索引,包括對外部檔案的變更。

變更索引的設定

摘要

時間
必須變更索引的更新頻率時。

指令
CHANGE INDEX SETTINGS

授權
表格上的 ALTER、SELECT、UPDATE

使用此指令可變更索引的更新頻率。

更新頻率

相關資訊,請參閱更新索引。如果未指定更新頻率, 則會保留目前的設定。

使用 UPDATEINDEX 關鍵字可決定是否要立即開始編製文字文件的索引, 或在下次排定的定期編製索引時再開始。 如果不使用此關鍵字,則會保留目前的設定。

範例

如果要在佇列中最少已有 100 份文字文件時, 將索引的更新頻率變更成在星期一到星期五的 12:00 或 15:00 時更新, 請輸入:

     db2tx CHANGE INDEX SETTINGS db2tx.mytable
                       HANDLE     commenthandle
                       UPDATEFREQ  min(100) d(1,2,3,4,5) h(12,15) m(00)

若要停止索引的定期更新,請輸入:

     db2tx CHANGE INDEX SETTINGS db2tx.mytable
                       HANDLE     commenthandle
         UPDATEFREQ none

重設索引狀態

摘要

時間
不能再搜尋或更新索引時。

指令
RESET INDEX STATUS

授權

會發生某些狀況讓您無法在索引中搜尋,或更新索引。顯示索引狀態會說明如何判定是否已發生其中一種事件。RESET INDEX STATUS 會重新啟動索引, 讓您可再使用它。

此範例會重設共用索引表格之索引的索引狀態:

     db2tx RESET INDEX STATUS db2tx.mytable

此語法可讓您重設特殊文字直欄的索引狀態。 此範例會重設多重索引表格直欄之索引的索引狀態:

     db2tx RESET INDEX STATUS db2tx.mytable HANDLE commenthandle

刪除索引事件

摘要

時間
索引日誌表格中不再需要此訊息時。

指令
DELETE INDEX EVENTS

授權

如果有某些情況讓您無法在索引中搜尋、更新,或無法為文件編製索引, 這稱為編製索引事件。編製索引事件的相關資訊是儲存在索引的日誌表格中。它可協助您判定問題的原因。不再需要這些訊息時, 您可予以刪除。

此範例會刪除共用索引表格之索引的訊息:

     db2tx DELETE INDEX EVENTS db2tx.mytable

此語法可讓您刪除特殊文字直欄的索引事件。 此範例會刪除多重索引表格直欄之索引的訊息:

     db2tx DELETE INDEX EVENTS db2tx.mytable HANDLE commenthandle

重組索引

摘要

時間
當 GET INDEX STATUS 指出索引應自行重組時。

指令
REORGANIZE INDEX

授權

若文字直欄經常更新,則搜尋此索引就無效率可言。 要回復搜尋效率,此欄位必須重組。 雖然 DB2 Text Extender 知道何時需要重組索引,並且自動在背景執行, 但有時仍需要使用 REORGANIZE INDEX 來手動重組索引。 您可用指令 GET INDEX STATUS 來瞭解是否需要重組索引。

雖然在 REORGANIZE INDEX 執行時可搜尋索引,但是不能更新索引。

此範例會重組共用索引表格的索引:

     db2tx REORGANIZE INDEX db2tx.mytable

此範例會重組多重索引表格直欄的索引:

     db2tx REORGANIZE INDEX db2tx.mytable HANDLE commenthandle


[ 頁面頂端 | 前一頁 | 下一頁 | 目錄 | 索引 ]