您可將下列其中一個索引類型和選項指定給含有要搜尋的文字的直欄: 語言、精確和 Ngram。您必須先決定要建立的索引類型, 才能準備這些類型的直欄以供 DB2 Text Extender 使用。若需要每種索引如何影響語言處理的更詳細說明, 請閱讀語言和精確索引的語言處理。
摘要 |
---|
DB2 Text Extender 提供範圍廣泛的搜尋選項,可見並不是所有選項都適用於所有索引類型。 請先參閱表 7與表 8, 再決定所要使用的索引類型。 |
若是語言索引,則會在分析每份文件的文字以供編製索引時引用語言處理。表示字詞會在儲存到索引之前, 先變成它們的基本形式;例如,術語 mice 會以 mouse 儲存在索引中。
若是語言索引上的查詢,則相同的語言處理會先引用到搜尋術語, 然後再在文字索引中搜尋。所以,如果您搜尋的是 mice, 則會先將它變更為其基本形式 mouse, 然後才開始搜尋。表 17摘要說明了在您使用語言索引時, 如何取出術語以供編製索引。
這種索引類型的優點是, 任何搜尋術語的變化都會與其中一份經過編製索引之文字文件中所發生的其它變更相符。 搜尋術語 mouse 與文件術語 mouse、mice、 MICE(大寫)相符,以此類推。與上例類似,搜尋術語 Mice 也會與相同的文件術語相符。
此索引類型需要最少的磁碟空間。但是,編製索引與搜尋可能會比精確索引所需的時間長。
可用的語言處理類型會依據文件的語言而異。類型列示有:
要訣 |
---|
不能將字詞片斷(用萬用字元標出的字詞)變更為基本形式。所以,如果搜尋 swu%, 則會找不到 swum 這個字詞,因為在索引中它已變更為其基本形式。若要找到它,您必須搜尋 swi%。 拼字錯誤的字詞變體無法簡化成基本形式。 以德文字 röstete 為例, 它以基本形式 (動詞 rösten) 正確編製索引。 röstete 或 rösteten 這樣的搜尋詞彙會正確地正常化成為基本形式 rösten,而且在索引可以找到此詞彙。 rostete 這個搜尋詞彙無法正常化成為 rösten,而且在索引找不到此詞彙。 |
在精確索引中,會用術語出現在文字文件中的樣子來編製索引。例如, 搜尋術語 mouse 找到的是 mouse,而不是 mice 也不是 Mouse; 精確索引中的搜尋是區分大小寫的。
在查詢中,也會將相同的處理引用到查詢術語中, 之後可用這些術語與索引中所找到的術語比較。表示找到的術語與搜尋術語完全相同。 您可使用遮罩字元擴大搜尋;例如, experiment% 這個搜尋詞彙可尋找 "experimental"、"experimented" 等等。
表 18舉例說明了在使用精確索引時, 是如何從文件文字中將術語取出以供編製索引。
此索引類型的優點是搜尋較精確,且編製索引及擷取也較快速。因為會編製出每種不同的形式及每個術語的拼字的索引, 所以比語言索引需要較多的磁碟空間。
在精確索引中,用來編製文字文件語言處理的索引為:
字詞及句子分開
停止字詞過濾。
Ngram 索引會藉由剖析字元集來分析文字。而此分析的基礎不是字典。
如果文字中含有 DBCS 字元,則必須使用 Ngram 索引。其它索引類型都不支援 DBCS 字元。
此類型索引支援「智慧型」搜尋,表示您可找到與所指定術語類似的字串。例如, 搜尋 Extender 也會找到拼錯的字詞 Extendrrs。 您也可指定所需的相似程度。
註: | 即使使用的是智慧型搜尋,但前三個字元仍需完全相同。 |
若要在 Ngram 索引中進行區分大小寫的搜尋,則只在查詢中指定 PRECISE FORM OF 關鍵字是不夠的。 這是因為 Ngram 索引一般並無法區分所編製索引之字元的大小寫。您可讓 Ngram 為區分大小寫編製索引, 但是在建立索引時必須指定 CASE_ENABLED 選項。然後再在查詢中指定 PRECISE FORM OF 關鍵字。
使用 CASE_ENABLED 選項時,編製索引需要更多的空間,且搜尋的時間會較長。
關於 Ngram 索引支援的 CCSID 列示,請參閱CCSID。 Ngram 索引支援原始 CCSID 列示。 就其它 CCSID 而言,會從這個 CCSID 將資料對映到 UTF8。
雖然 Ngram 索引是設計成用來編製 DBCS 文件的索引, 但它仍可用於 SBCS 文件中。然而,它只支援 TDS 文件。
請注意,並不支援所有的搜尋語法選項。請參閱搜尋引數的語法, 以取得規則的摘要及限制。
若判斷使用的索引類型不適合,請先停用文字直欄或文字表格刪除索引,然後重新啟用文字直欄或文字表格重新建立索引。