Documentation
(C) IBM Corp. 1996, 2000

DB2 Text Extender

ENABLE TEXT COLUMN

此指令會啟用 DB2 Text Extender 所用的文字直欄。

授權

您在表格中至少需有下列其中一種權限:

ALTER 專用權

SELECT 專用權

UPDATE 專用權。

指令語法

>>-ENABLE TEXT COLUMN--table-name--text-column-name------------->
 
>-----+--------------------------+--HANDLE--handle-column-name-->
      '-FUNCTION--function-name--'
 
>-----+-----------------------+--------------------------------->
      '-| text-information |--'
 
>-----+----------------------------+---------------------------->
      '-| index-characteristics |--'
 
>-----+----------------------------+---------------------------->
      '-UPDATEINDEX--+-UPDATE---+--'
                     '-NOUPDATE-'
 
>-----+------------------------------+-------------------------->
      '-TABLESPACE--tablespace-name--'
 
>-----+---------------------+----------------------------------><
      '-COMMITCOUNT--count--'
 
text-information
 
|---+---------------+---+-----------------+---+---------------+-|
    '-CCSID--ccsid--'   '-LANGUAGE--語言--'   '-FORMAT--格式--'
 
index-characteristics
 
|---+------------+---+-PRECISE----+----------------------------->
    '-INDEXTYPE--'   +-LINGUISTIC-+
                     '-NGRAM------'
 
>-----+--------------------------------+------------------------>
      '-INDEXOPTION--+-CASE_ENABLED-+--'
                     '-NORMALIZED---'
 
>-----+----------------------------------------------------------------------------+>
      |                                                          .-,--------.      |
      |                                                          V          |      |
      '-INDEXPROPERTY--SECTIONS_ENABLED--+-DOCUMENTMODEL--+---(-----model---+---)--'
                                         '-DOCUMENTMODELS-'
 
>-----+----------------------------------------+---------------->
      '-UPDATEFREQ--+-NONE------------------+--'
                    '-| update-frequency |--'
 
>-----+-------------------------------------------------------------------------------+>
      +-DIRECTORY--directory----------------------------------------------------------+
      |  .--------------------------------------------------------------------------. |
      |  |                                          .-,---------------------.       | |
      |  V                                          V                       |       | |
      '----DIRECTORY--directory--ON--+-NODE--+---(-----node--+-----------+--+---)---+-'
                                     '-NODES-'               '-TO--node--'
 
>---------------------------------------------------------------|
 
update-frequency
 
|---MIN--(--mindocs--)--D---(--+-*------------+---)---H--------->
                               |  .-,-------. |
                               |  V         | |
                               '----0...6---+-'
 
                                       .-,---------.
                                       V           |
>----(--+-*-------------+---)---M---(-----0...59---+---)--------|
        |  .-,--------. |
        |  V          | |
        '----0...23---+-'
 

指令參數

table-name
位在已連接資料庫中,且含有要啟用之直欄的文字表格名稱。除非綱目名稱與您的使用者 ID 相同, 否則此名稱必須包括明確綱目名稱 (限定元)。

text-column-name
啟用 DB2 Text Extender 所使用的直欄名稱。 此直欄類型 必須為 CHAR、VARCHAR、LONG VARCHAR、CLOB、DBCLOB、GRAPHIC、VARGRAPHIC、 或 LONG VARGRAPHIC。如果文件類型不是上述其中一種, 請使用 FUNCTION 來轉換文件類型。

FUNCTION function-name
使用者定義函數的名稱,供 DB2 Text Extender 用來存取直欄中的文字文件, 直欄的類型不是 CHAR、 VARCHAR、LONG VARCHAR、CLOB、DBCLOB、GRAPHIC、VARGRAPHIC 或 LONG VARGRAPHIC。相關資訊,請參閱啟用不支援之資料類型的文字直欄

HANDLE handle-column-name
要新增到表格中供 DB2 Text Extender 函數使用的 handle 直欄名稱。

CCSID ccsid
編製文字文件索引時所用的「編碼字集識別字」。

如果您在啟用 Ngram 索引的文字直欄時指定一個 CCSID, 此 CCSID 必須和資料庫 的 CCSID 相同,且搜尋期間使用的 CCSID (資料庫 的 CCSID) 必須符合此 CCSID。

若要尋找預設 CCSID,請使用︰

db2tx get text cfg

安裝預設值是資料庫 CCSID。

如果未指定此關鍵字,則會使用文字架構設定中所指定的 CCSID。會略過其後對文字架構設定所做的變更; 所用的值是啟用直欄時已有的值,而不是為文字文件編製索引時所有的值。

其它支援之 CCSID 的相關資訊,請參閱CCSID

LANGUAGE language
編寫文字時所用的語言。這個項目可決定編製文字文件索引以及在文字文件中搜尋時, 所要使用的字典。語言和精確索引的語言處理會說明使用字典的方式。

此關鍵字會為整個直欄指定一次語言。您可用 INSERT 陳述式中的 INIT_TEXT_HANDLE 函數, 來置換個別插入之文字文件的這個值。

如果未指定此關鍵字,則會使用文字架構設定中所指定的語言。 會略過其後對文字架構設定所做的變更; 所用的值是啟用直欄時已有的值,而不是為文字文件編製索引時所有的值。

支援的語言皆列在表 5

FORMAT format
儲存的文字文件類型,如 WordPerfect 或 ASCII。在為文件編製索引時, DB2 Text Extender 需有此資料。 支援的文件格式皆列在支援哪些文件格式

結構性文件所支援的文件格式有:

對於這些格式,您必須在文件模型檔中指定結構資訊。 請參閱使用結構化文件 (區段支援)。 若您指定的是 TDS 與 INDEXPROPERTY SECTION_ENABLED 格式,則會認定 文件格式是 ASCII_SECTIONS。

未於模型檔中定義的標籤,則以一般方式,根據索引類型來編製索引。

此關鍵字會為整個直欄指定一次格式。您可用 INSERT 陳述式中的 INIT_TEXT_HANDLE 函數, 來置換個別插入之文字文件的這個值。

如果未指定此關鍵字,則會使用文字架構設定中所指定的格式。 會略過其後對文字架構設定所做的變更; 所用的值是啟用直欄時已有的值,而不是為文字文件編製索引時所有的值。

INDEXTYPE
要建立的索引類型。相關資訊,請參閱搜尋類型

PRECISE
用術語出現在文件中的原貌來編製索引與搜尋。

LINGUISTIC
術語在編製索引之前會經過語言處理。在開始搜尋之前, 搜尋術語也會經過語言處理。

NGRAM
利用剖析數組字元(而非使用字典)的方式來為術語編製索引。 Ngram 索引可用於純 SBCS 文件中,但若您編製索引的文件含有 DBCS 字元,則此索引類型仍是必要的。

如果未指定 INDEXTYPE 關鍵字,則會使用文字架構設定中的值。

Ngram 索引不支援 XML 格式的文件。

INDEXOPTION
建立索引時所用的選項。

CASE_ENABLED
此選項只適用於 Ngram 索引。 一般而言,Ngram 索引並不容許區分大小寫的搜尋。 藉由指定 CASE_ENABLED, 您確定可用此類區分大小寫的搜尋來為文件編製索引。相關資訊,請參閱在 DBCS 文件執行智慧型搜尋或一般搜尋

NORMALIZED
此選項只適用於 precise 索引。 經過正常化的精確索引與精確索引的不同在於:
  • 它是不區分大小寫的;除了全部大寫的字之外,其它都會被轉換為小寫字。
  • 全部大寫的字需經過停止字詞的過濾;例如 UK 的縮寫就會被編製索引。
  • 英文的搜尋術語可利用自行發現式演算法來擴充,以包括 搜尋字 (lemma),這樣若您搜尋 house,也會同時搜尋 houses

INDEXPROPERTY SECTIONS_ENABLED DOCUMENTMODEL(S) 模型
已選取的索引類型特性。

SECTIONS_ENABLED 會指定已選取的索引類型可以包含 文件結構的相關資訊。

DOCUMENTMODEL/DOCUMENTMODELS model 指定要編製索引的文件的預設相關模型。 若使用索引特性 SECTIONS_ENABLED,則必須指定模型名稱。 若指定模型列示,則第一個模型會用作此索引的預設模型。 若文件未參照至模型、或搜尋期間未指定模型,則在編製索引時會使用預設模型。

可用於模型名稱的字元是 a-z、A-Z 以及 0-9。

指定的模型名稱必須與模型定義檔 desmodel.ini 中的模型定義相對應。

若要變更與索引相關的模型,請執行下列步驟:

  1. 使用 DISABLE TEXT COLUMN 以停用索引
  2. 使用 ENABLE TEXT COLUMN 為文件重新編製索引,指定不同的文件模型名稱。

UPDATEFREQ update-frequency
更新時所用的索引更新頻率, 以及必須排在日誌表格之佇列中的最小文字文件數。 如果在給定日期或時間的日誌表格中沒有足夠的文字文件, 則不會更新索引。

此語法會在更新索引中予以說明。

如果未指定 UPDATEFREQ,則會使用文字架構設定中所指定的預設頻率。
要訣

如果有數個表格,請考慮不要使用預設值。 藉由產生表格的個別更新頻率設定,您可避免同時為所有的表格編製索引, 及造成系統資源上的不必要的長期載入。

NONE
不會再更新索引。這主要是針對不會再變更的文字直欄。

如果已用 ENABLE TEXT TABLE 來設定整個表格的這些更新頻率設定, 則會略過它們。

DIRECTORY directory
儲存文字索引的目錄路徑。 指定的路徑與 ""txinsnnn" 相連接,其中 nnn 是節點號碼。

此為執行 DB2 Text Extender 伺服器的系統上的一個目錄。 如果該目錄不存在,則會自動建立。 如果已存在,請確定在 UNIX 平台上該目錄提供案例擁有者的讀取/寫入許可權, 檢查已指定的「隔離使用者 ID」是否與建立 DB2 案例時所指定的不同。

如果未指定 DIRECTORY 關鍵字,則會使用文字架構設定中的 DIRECTORY 設定值。

如果已用 ENABLE TEXT TABLE 來設定整個表格的此設定, 則會略過它。

如果使用的是分割資料庫,您可將一個共用索引路徑名稱指定給所有節點, 或某範圍的節點,或將不同索引目錄路徑指定給每個節點。

ON NODE 節點 [TO 節點]
已指定目錄路徑名稱的節點編號或節點範圍。

UPDATEINDEX
決定此指令完成後,是否要立即為與此 handle 直欄有關的文字文件編製索引, 而不要等到下次 UPDATEFREQ 所設定的定期編製索引時間。

UPDATE
編製文字文件索引是在此指令完成後立即發生。

NOUPDATE
根據 UPDATEFREQ 或文字架構設定中這個指令所指定的更新頻率設定, 進行編製索引。

如果不指定此關鍵字, 則會取用文字架構設定中的值。

TABLESPACE tablespace-name
在 handle 直欄內部建立之索引的表格空間名稱。 表格空間必須事先建立。

COMMITCOUNT count
500 至 1 000 000 的值表示插入或更新次數, 在達到該次數之後,DB2 UDB 必須發出一個中間的確定陳述式。 這樣可避免啟用大型表格、直欄或大量外部檔案時,日誌空間不足的情形。

用法注意事項

此指令會將 handle 直欄新增到指定的 DB2 表格中。每一個 handle 直欄結合一個文字直欄,由 DB2 Text Extender 的函數使用。

如果尚未啟用此表格來建立共用索引, 則會建立與此文字直欄有關的索引。

也會在資料庫中建立日誌表格。日誌表格是用來將變更(插入、更新及刪除)記錄到文字直欄中。 插入、更新及刪除起始動作定義是為文字直欄所定義, 可保留最新的日誌表格。

如果所要啟用的文字直欄屬於多重節點群組的一個表格, 則所有實體節點都必須可使用所指定的索引目錄。 如果使用的是文字架構中所指定的預設目錄, 請確定節點群組的所有節點上都可使用此路徑。 如果不方便,您可在 ENABLE TEXT COLUMN 指令中指定每個節點的特定路徑。

如果變更了含有為 DB2 Text Extender 所啟用之表格的節點群組節點架構, 您必須為表格重新編製索引。
要訣

如果在此步驟中用完日誌空間,請參閱啟用大型表格中的文字直欄以取得可能的解決方法。


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