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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

ORACLE TEXT FILTER PREFERENCE(一)

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

介紹完Oracle全文索引的DATASTORE屬性,繼續介紹Oracle的FILTER屬性。


Oracle全文索引的FILTER屬性主要是針對具有一定格式的文檔,Oracle根據FILTER的設定來過濾那些不屬于文章內容的部分。

FILTER屬性包含的屬性有:CHARSET_FILTER、INSO_FILTER、NULL_FILTER、USER_FILTER、PROCEDURE_FILTER幾種。

這里仍然從FILTER的最簡單屬性NULL_FILTER開始介紹:

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

表已創建。

SQL> INSERT INTO T VALUES (1, 'This is a sample for Oracle TEXT.');

已創建?1 行。

SQL> INSERT INTO T VALUES (2, 'This is a null filter sample');

已創建?1 行。

SQL> COMMIT;

提交完成。

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

索引已創建。

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

ID DOCS
---------- ----------------------------------------
1 This is a sample for Oracle TEXT.

上面就是一個簡單的NULL_FILTER的例子,所謂NULL_FILTER就是不使用過濾。Oracle推薦對于文本、HTML和XML文件不使用過濾。

Oracle的FILTER的默認值和索引列的字段類型,以及DATASTORE的屬性有關。如果是存儲在數據庫中的列,且列的類型為VARCHAR2、CHAR、CLOB,則Oracle會使用NULL_FILTER作為FILTER的默認屬性。

其實上面這個例子和不指定FILTER是等價的。

SQL> DROP INDEX IND_T_DOCS;

索引已丟棄。

SQL> CREATE INDEX IND_T_DOCS ON T (DOCS) INDEXTYPE IS CTXSYS.CONTEXT;

索引已創建。

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

ID DOCS
---------- ----------------------------------------
2 This is a null filter sample

總結

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

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