Documentation
(C) IBM Corp. 1996, 2000

DB2 Text Extender


修正先前的搜尋

搜尋引數找到太多項目時,此方法藉由結合布林 AND 關係中的初始及第二個搜尋引數, 來縮小(或修正)搜尋。

將結果儲存在表格中,並在此表格上進行下一個搜尋, 就可以不使用 REFINE 函數來修正搜尋結果。然而, 依據合格術語的數目而定, 此方法的效率比儲存最新搜尋引數並使用 REFINE 還差。

下列步驟顯示如何搜尋,與使用 REFINE 函數予以修正。REFINE 函數會傳回搜尋引數, 此引數是其輸入參數的布林 AND 結合。REFINE 所傳回的所結合搜尋引數是類型 LONG VARCHAR的值。

  1. 建立舊搜尋引數的表格。

    建立表格 PREVIOUS_SEARCHES 以保留已搜尋的搜尋引數。

    db2=>CREATE TABLE PREVIOUS_SEARCHES (step INT,
                                         searchargument LONG VARCHAR)
    




    REQTEXT

  2. 搜尋第一個搜尋引數。

    在範例表格中搜尋字詞 compress。

    db2=>SELECT COMMENT
           FROM DB2TX.SAMPLE
           WHERE DB2TX.CONTAINS (COMMENTHANDLE, '"compress"') = 1
    

    將搜尋引數插入到其後步驟會用到的 PREVIOUS_SEARCHES 表格中。

    db2=>INSERT INTO PREVIOUS_SEARCHES
           VALUES (1, '"compress"')
    




    REQTEXT

  3. 修正搜尋。

    假設搜尋傳回太多文字文件, 則藉著使用 REFINE 函數來結合先前的搜尋術語與字詞 compiler, 可修正搜尋。

    db2=>WITH LAST_STEP(STEP_MAX)
                AS (SELECT MAX(STEP)
                  FROM PREVIOUS_SEARCHES),
              LAST_SEARCH(LAST_SEARCH)
              AS (SELECT SEARCHARGUMENT
                  FROM PREVIOUS_SEARCHES,LAST_STEP
                  WHERE STEP = STEP_MAX)
         SELECT COMMENT
              FROM DB2TX.SAMPLE, LAST_SEARCH
           WHERE DB2TX.CONTAINS (COMMENTHANDLE,
                          DB2TX.REFINE(LAST_SEARCH, '"compiler"')) = 1
    

    將修正過的搜尋引數插入到其後步驟會用到的 PREVIOUS_SEARCHES 表格中。

    db2=>INSERT INTO PREVIOUS_SEARCHES
           WITH LAST_STEP(STEP_MAX)
                AS (SELECT MAX(STEP)
                    FROM PREVIOUS_SEARCHES)
           SELECT STEP_MAX+1, DB2TX.REFINE(SEARCHARGUMENT, '"compiler"')
             FROM PREVIOUS_SEARCHES, LAST_STEP
    




    REQTEXT

    您可重複此步驟,直到文字文件數目縮小到可接受的數目。


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