Documentation
(C) IBM Corp. 1996, 2000

DB2 Text Extender


使用結構化文件 (區段支援)

區段支援可讓您在結構化文件編製特定區段的索引和搜尋特定區段,例如,標題、作者或說明區段。 文件可以使用 XML 或 HTML 格式或是具有類似 HTML 標籤的純文字檔文件。 請在某文件模型定義標註標籤和它們的對應區段名稱。 文件模型定義文件中的哪些區段是有編製索引的區段,因此可以搜尋這些區段。 區段名稱是用於查詢該區段的敘述性名稱。

若要使用區段支援,那麼在啟用含有文件的文字直欄時, 您必須指定 INDEXPROPERTY SECTIONS_ENABLED

文件模型檔列示伺服器案例的全部定義的文件模型。 建立一個伺服器案例之後,會在伺服器案例次目錄自動建立範例文件模型檔 DESMODEL.INI。 此檔案使用 ASCII 字碼頁。

文件模型資訊會複製到索引目錄。 若在建立索引之後變更伺服器案例的文件模型檔,並不會影響已建立的索引的區段支援。

搜尋具有區段支援的索引 (例如,在區段「作者」中搜尋 McDaniel) 示範如下。 模型名稱一定加在區段 (以本案例而言為「作者」) 的前面。

db2 "select count (*)
     from db2tx.htmltable
     where db2tx.contains(myhandle,'MODEL myhtmlmodel SECTION (author) "McDaniel"') = 1

屬性區段

區段可以有不同類型。純文字區段沒有類型。 具有宣告類型的區段稱為屬性區段。支援的屬性類型:

您可使用值範圍搜尋含有屬性區段的文件。 此區段必須有適當區段類型。在下例中,區段 ABC 必須有類型 TIME 才能支援查詢:

retrieve all documents containing values between
20:00:00 and 22:00:00 in the section ABC

一個區段可以有一個以上的屬性值。以空格或換行分隔值。您無法巢狀化屬性區段。

支援的日期格式

您可以在文件模型中將日期 (例如建立日期或公佈日期) 併入支援的區段列示。 支援下列日期格式:


表 3. 支援的日期格式
格式名稱 格式 範例
ISO YYYY-MM-DD
1986-12-25
100-12-25
10123-2-17

DD-MM-YYYY
01-10-1999
5-8-1990

IBM USA Standard (USA) MM/DD/YYYY
08/18/1999
5/13/1977

YYYY/MM/DD
1999/08/18

IBM European Standard (EUR) DD.MM.YYYY
20.10.1999
1.5.1980

對具有區段支援的索引搜尋在某一個日期公佈的全部文件,示範如下:

dessrch -s SERVER -x TESTIX -section sample/PublishingDate -term 1999-09-09

支援的時間格式

支援下列時間格式︰

表 4. 支援的時間格式
格式名稱 格式 範例
ISO
hh:mm:ss
hh:mm
hh.mm.ss
hh.mm
hh
hhmm
hhmmss


19:00:23
19:00
19.00.23
19.00
19
1900
190013

您可省略小時的前導零。下列範圍以外的值是無效值︰


小時 分鐘
0-23 0-59 0-59

支援的浮點格式

支援下列格式︰

使用空格或換行分隔浮點值。

下列是浮點值的正確格式和錯誤格式範例:


正確的格式 不正確的格式

1000
1
1.0e3
1.0E3
1E3
.1E4
0.1E4


1 000
1,000
e3

支援的整數格式

支援範圍 -2147483648 到 2147483647 中的整數。 使用空格分隔整數。這表示類型 INTEGER 區段中的字串 "42 234" 會解析成整數值 "42" 和 "234" 而不是 "42234"。

下例是整數值的正確格式和錯誤格式範例︰


正確的格式 不正確的格式
1000
1.000
1,000
1  000

1000000
100.000
100,00
100  000

備註

不支援語言專用分隔字元和貨幣符號格式。

純文字檔和 HTML 文件

就純文字檔而言,使用類似 HTML 標籤 (例如 <title> 和 <subject>) 標註區段。 具有標註區段的文件可能如下︰

<title>IBM Dictionary of Computing
<author>McDaniel, George
<subject> Computers, Reference, ....

純文字檔或 HTML 文件的文件模型檔可能如下。 模型名稱和區段名稱只能包含 A-Z、a-z 和 0-9。模型名稱一定有區分大小寫。 區段名稱可以有區分大小寫或不區分大小寫;建立模型時請指定設定。

;list of document models
;model always starts with 'modelname' and the name of the model
[MODELS]
modelname=sample
modelname=sample2
modelname=sample3
; a 'sample' document model definition
; left  - section name identifier
; right - section name tag
[sample]
Title = title
Author = author
Subject = subject
Abstract = abstract
Content = content
PublishingDate=date
[sample2]
Title = title
Author = author
Subject = subject
[sample3]
Title = title
Author = author
Abstract = abstract
Docnum = docnum

若一個文件有含有一個標註區段,該區段未定義於文件模型,那麼該區段內容會併入先前定義的區段以便編製索引和搜尋。 例如,含有下列標註區段的文件︰

<title>IBM Dictionary of Computing
<subject> Computers, Reference, ....
<author>McDaniel, George
<abstract> Contains up-to-the-minute coverage of information processing systems,
communication products and facilities, personal computers, and office systems, as
well as the full range of IBM hardware and software products.

定義文件模型 book 如下︰

[MODELS]
modelname=book
[book]
Title = title
Author = author
Abstract = abstract

<subject> 區段沒有內含在 book 文件模型。 編製文件的索引時,會使用標題區段內容編製主旨區段內容的索引。 在標題區段內也可搜尋它們。

若在建立索引時指定模型列示,那麼預設模型是列示中的第一個模型。 您可使用 desmodix 指令變更預設模型。

XML 文件

就區段啟用的索引而言,XML 文件必須是正確建構的文件而且含有一個 root 元素。 root 元素名稱必須與其中一個定義的模型名稱相同而且大小寫必須相同。 文件模型檔中的模型說明必須是定義在文件的 DTD (文件類型定義) 檔的文件模型的子集。

模型說明的開頭必須是 root 元素。就想要作為區段的 XML 元素,您必須將它的完整階層併入模型說明。 若區段是類型日期區段,那麼本區段必須是文件模型樹狀結構中的葉。 不支援屬性區段巢狀。

XML 文件的模型說明可能如下︰

; 文件模型列示
[MODELS]
modelname = LETTER
; sample for XML model definition
; left-hand side  = section name identifier encoding whole path
; right-hand side = section name tags specifying tag for each
;                   element of the path through the tree down to
;                   the specified node. Tag delimiter is /.
[LETTER]
LETTER = LETTER
LETTER/date = LETTER/DATE
LETTER/address = LETTER/ADDRESS
LETTER/address/City = LETTER/ADDRESS/CITY
LETTER/Content = LETTER/CONTENT
LETTER/Content/Greetings = LETTER/CONTENT/GREETINGS

XML 文件可能如下。它也說明如何編製那些沒有定義於模型的區段的索引。

<?xml version="1.0"?>
<!DOCTYPE LETTER SYSTEM "letter.dtd">
<LETTER>
 <HEADER>This tag has been skipped in the definition, to this text will
             be added to the section named LETTER
 </HEADER>
 <DATE>
           01.01.2000  03.02.2000
 </DATE>
 <ADDRESS>
           Text will be added to the section named LETTER/address.
  <CITY>
             Text will be added to section named LETTER/address/City.
  </CITY>
 </ADDRESS>
 <CONTENT>
           Text will be added to the section named LETTER/Content.
   <NOSECTION>Text will be added to the section named LETTER/Content
              because NOSECTION is not defined.
  </NOSECTION>
  <GREETINGS>
            Text will be added to section named LETTER/Content/Greetings.
  </GREETINGS>
 </CONTENT>
</LETTER>


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