更新時間:2022-02-07 10:21:10 來源:動力節(jié)點 瀏覽1218次
使用 FILTER 索引參數可指定在對列中數據建立索引之前應先對該數據進行過濾。
要點: 過濾并不會修改存儲在表列中的文檔;文檔仍然以專用格式化文本存儲。
在創(chuàng)建過濾索引之前,配置您的數據庫服務器以進行過濾、記錄和跟蹤。
在配置完數據庫服務器之后,可以在 CREATE INDEX 語句中使用 FILTER 索引參數,以在對文檔建立索引之前從這些文檔中過濾掉專用信息。
以下語句在表 my_table 的 abstract 列上創(chuàng)建了一個 etx 索引,并指定應該在將 abstract 列中的文檔添加到索引之前對其進行過濾。
CREATE INDEX abstract_index ON my_table (abstract etx_clob_ops)
USING etx (FILTER = 'STOP_ON_ERROR');
可以對 IBM® Informix® Excalibur Text Search DataBlade® 模塊支持的全部 7 種數據類型的列啟用過濾:CHAR、VARCHAR、BLOB、CLOB、LVARCHAR、IfxDocDesc 和 IfxMRData。
可以將 FILTER 索引參數設置為下表描述的三個值之一:
| 值 | 描述 |
|---|---|
| NONE |
將文檔添加到 etx 索引之前不對其進行過濾。例如,對于一個 Microsoft Word 文檔,這意味該文檔的所有格式信息會隨它一起添加到索引中。將 FILTER 索引參數設置為 NONE,效果等同于根本不指定 FILTER 索引參數。 |
| STOP_ON_ERROR |
如果在過濾期間出錯,那么執(zhí)行語句的客戶機程序將收到一條識別導致錯誤的行的消息,該錯誤會記錄到跟蹤日志(如果已啟用跟蹤),同時停止該語句。 |
| CONTINUE_ON_ERROR |
如果在過濾期間出錯,那么識別導致錯誤的行的消息會被記錄到跟蹤日志中,同時未過濾的文檔及其所有格式信息會被插入索引,并且該語句會繼續(xù)執(zhí)行。 |
為包含數據的表創(chuàng)建 etx 索引后,會自動過濾在表中插入新行或更新行時添加的數據。
您還可以通過使用 etx_Filter() 例程在 SELECT 語句中過濾文檔。如果大家想了解更多相關知識,不妨來關注一下動力節(jié)點的Java在線學習,里面的課程內容細致全面,由淺到深,適合沒有基礎的小白學習,希望對大家能夠有所幫助。