有一個 API 函數可用來搜尋文字:DesGetSearchResultTable 函數。
DesGetSearchResultTable 函數會將用來搜尋文字文件的搜尋引數接收到特殊文字直欄中, 並將結果儲存在表格中。結果表格含有每份找到文件的 handle。同時也含有等級資訊及符合項目的數目, 依據所指定的搜尋選項。
您亦可使用 RANK 和 NO_OF_MATCHES 函數來取得此資訊。 此處為範例:
INSERT INTO RESULT SELECT COMMENTHANDLE, RANK(COMMENTHANDLE, '"儲存程序"'), NO_OF_MATCHES(COMMENTHANDLE, '"儲存程序"') FROM DB2TX.SAMPLE WHERE CONTAINS(COMMENTHANDLE, '"stored procedures"') = 1
DesGetSearchResultTable 只能使用於基本表格,如果只查詢文字, 則比使用 DB2 Text Extender 函數還要快速;此函數直接到 DB2 Text Extender 伺服器取得等級和相配數目,循環次數最多為找到的相配文件數。 換言之,在 UDF 範例中, 表格中的每一橫列都會呼叫一次 CONTAINS 函數;而針對每個合格的橫列, 都會呼叫 RANK 及 NO_OF_MATCHES 函數。對所找到的每份文件,都會產生三種個別搜尋。
輸入參數為:
如果已指定瀏覽選項,則此函數會傳回瀏覽資訊的指標。