日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ORACLE TEXT FILTER PREFERENCE(二)

發布時間:2024/8/26 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ORACLE TEXT FILTER PREFERENCE(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這篇文章繼續介紹全文索引的FILTER屬性,介紹Oracle的INSO_FILTER屬性。


Oracle的全文索引除了可以支持文本文件外,還可以支持多種文檔格式,對于這些文檔格式,在建立索引的時候需要指定INSO_FILTER參數,使用這個過濾參數,Oracle的全文索引可以識別絕大部分的常見文檔,比如:word、pdf等。

下面看一個索引文檔的例子:

SQL> CREATE TABLE T (ID NUMBER, DOCS VARCHAR2(1000));

表已創建。

SQL> INSERT INTO T VALUES (1, 'Oracle920 Text Application Developer''s Guide.pdf');

已創建?1 行。

SQL> INSERT INTO T VALUES (2, '35697_bommarito.doc');

已創建?1 行。

SQL> COMMIT;

提交完成。

SQL> CONN CTXSYS/CTXSYS@YANGTK
已連接。
SQL> BEGIN
2 CTX_DDL.CREATE_PREFERENCE('TEST_FILE', 'FILE_DATASTORE');
3 CTX_DDL.SET_ATTRIBUTE('TEST_FILE', 'PATH', 'D:databaseoracleoracle docoracle 9i;D:databaseoracleoracle doc');
4 END;
5 /

PL/SQL 過程已成功完成。

SQL> CONN YANGTK/YANGTK@YANGTK
已連接。
SQL> CREATE INDEX IND_T_DOCS ON T (DOCS) INDEXTYPE IS CTXSYS.CONTEXT
2 PARAMETERS ('DATASTORE CTXSYS.TEST_FILE FILTER CTXSYS.INSO_FILTER');

索引已創建。

SQL> SELECT * FROM T WHERE CONTAINS(DOCS, 'ORACLE') > 0;

ID DOCS
---------- ------------------------------------------------------------
2 35697_bommarito.doc
1 Oracle920 Text Application Developer's Guide.pdf

FILTER的默認值并不是一成不變的,這個默認值會受索引字段類型和DATASTORE的類型的影響。在上一篇文章中的測試中,對于存儲在數據庫中的VARCHAR2、CHAR和CLOB字段中的數據,Oracle自動選擇了NULL_FILLER。在這里DATASTORE的屬性為FILE_DATASTORE,則Oracle會默認選擇INSO_FILTER作為默認值。

下面看具體的例子:

SQL> DROP INDEX IND_T_DOCS;

索引已丟棄。

SQL> CREATE INDEX IND_T_DOCS ON T (DOCS) INDEXTYPE IS CTXSYS.CONTEXT
2 PARAMETERS ('DATASTORE CTXSYS.TEST_FILE FILTER CTXSYS.NULL_FILTER');

索引已創建。

SQL> SELECT * FROM T WHERE CONTAINS(DOCS, 'ORACLE') > 0;

未選定行

SQL> DROP INDEX IND_T_DOCS;

索引已丟棄。

SQL> CREATE INDEX IND_T_DOCS ON T (DOCS) INDEXTYPE IS CTXSYS.CONTEXT
2 PARAMETERS ('DATASTORE CTXSYS.TEST_FILE');

索引已創建。

SQL> SELECT * FROM T WHERE CONTAINS(DOCS, 'ORACLE') > 0;

ID DOCS
---------- ------------------------------------------------------------
2 35697_bommarito.doc
1 Oracle920 Text Application Developer's Guide.pdf

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的ORACLE TEXT FILTER PREFERENCE(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。