文章詳情頁
DB2 XML 全文搜索之為文本搜索做準備
瀏覽:272日期:2023-11-08 10:17:06
搜索 DB2 中的 XML 文檔需要執(zhí)行的任務(wù)分成兩部分:1、索引治理任務(wù)2、全文搜索本節(jié)簡要討論這兩種任務(wù),使用的示例針對 清單 1 中定義的 “product 表。注重,“product 表的 “description 和 “comments 列是 XML 類型的(換句話說,“description 和 “comments XML 文檔原生存儲在數(shù)據(jù)庫中)。清單 1. 表定義:create table product (pid varchar(10) primary key not null,description xml,comments xml);“product.description 和 “product.comment 列中存儲的 XML 數(shù)據(jù)示例分別見 圖 1 和 圖 2。后面的查詢示例搜索這些 XML 文檔的特定元素。“DB2 Viper 快速入門 (developerWorks,2006 年 3 月)討論了如何在 DB2 中插入 XML 文檔。
圖 1. “product.description 列的數(shù)據(jù)示例圖 2. “product.comments 列的數(shù)據(jù)示例首先考慮一下對 “product 表執(zhí)行文本搜索操作時需要做什么,比如搜索在評論的 “message 元素中有單詞 “satisfactory 的產(chǎn)品的名稱,或者在描述的 “details 元素中有短語 “sugar and creamer 的產(chǎn)品的名稱。在使用 Net Search Extender 之前,必須先啟動它的實例服務(wù),見清單 2:啟動 Net Search Extender 實例服務(wù)的命令:db2text start注重,這個命令調(diào)用一個單獨的可執(zhí)行程序 db2text。以后會看到,任何文本索引治理任務(wù)都需要用命令 db2text 來執(zhí)行。在啟動 Net Search Extender 之后,對 DB2 數(shù)據(jù)庫啟用文本搜索操作。這個步驟創(chuàng)建必需的治理表以及各種用戶定義函數(shù)(UDF)和存儲過程(STP),這是對 DB2 數(shù)據(jù)進行全文搜索所需要的,而且對每個數(shù)據(jù)庫只執(zhí)行一次。對數(shù)據(jù)庫 “test 啟用文本搜索操作的命令如下:清單 3. 對數(shù)據(jù)庫 “test 啟用文本搜索操作的命令db2text enable database for text connect to test假如還沒有設(shè)置 DB2DBDFT 環(huán)境變量,那么所有 Net Search Extender 治理任務(wù)都需要 connect to 子句,其中的 是數(shù)據(jù)庫的名稱。以下命令假設(shè)設(shè)置了 DB2DBDFT。在為數(shù)據(jù)庫啟用文本搜索操作之后,可以在以各種格式(比如 XML)存儲文本數(shù)據(jù)的列上創(chuàng)建文本索引。create index 命令定義文本索引屬性,比如更新頻率、文檔格式、索引目錄等等,從而建立文本索引基礎(chǔ)設(shè)施。關(guān)于各種索引屬性的更多信息,請參考 Net Search Extender 文檔。本文中的示例使用一個基本的文本索引創(chuàng)建過程,見清單4:在 “product.description 上創(chuàng)建文本索引 ix1db2text create index ix1 for text on product(description)。清單 4 中的命令在 “product 表的 “description 列中本機存儲的 XML 文檔上創(chuàng)建一個名為 “ix1 的全文索引。注重,在創(chuàng)建文本索引之后,文本搜索還不能找到任何結(jié)果,因為此時文本索引不包含任何數(shù)據(jù)。假如沒有指定更新頻率,那么需要顯式地對數(shù)據(jù)和文本索引進行同步。對文本索引進行同步的任務(wù)稱為索引更新,通常在創(chuàng)建文本索引之后立即執(zhí)行。清單 5. 使文本索引與基表中的數(shù)據(jù)同步db2text update index ix1 for text索引更新過程可以使用清單5中的命令手工執(zhí)行,也可以使用后臺守護進程自動執(zhí)行。自動索引更新可以在創(chuàng)建索引時用索引屬性指定,也可以以后使用 alter index 命令指定。下面總結(jié)一下在 DB2 中預(yù)備全文搜索操作所需完成的步驟:表 1. 在 DB2 中預(yù)備全文搜索操作的步驟在完成這四個治理步驟之后,就可以對 XML 數(shù)據(jù)進行全文搜索了。那么,可以用來尋找相關(guān)信息的實際搜索特性是什么?

標簽:
DB2
數(shù)據(jù)庫
排行榜
