If Oracle XML DB 只有xml文档,没有二进制文档, 那么就可以直接在XDB$RESOURCE table上创建一个context index, 下面是如何创建:
CREATE INDEX xdb$resource_ctx_i ON XDB.XDB$RESOURCE(OBJECT_VALUE)
INDEXTYPE IS CTXSYS.CONTEXT;
If Oracle XML DB 既有xml文档, 又有二进制文档, 就必须在index进行filter. 使用 package DBMS_XDBT
(dbmsxdbt.sql
) 来创建和配置Context Index.
-- Install the package - connected as SYS
@dbmsxdbt
-- Create the preferences
EXEC DBMS_XDBT.createPreferences;
-- Create the index
EXEC DBMS_XDBT.createIndex;
下面是详细的创建过程:
1.Create Index Script
-- Install the package - connected as SYS
@dbmsxdbt
其实就是run ORACLE_HOME/rdbms/admin/dbmsxdbt.sql
换成xdb用户进去运行,
-- Create the preferences
EXEC xdb.DBMS_XDBT.createPreferences;
如果要delete: exec xdb.DBMS_XDBT.DROPPREFERENCES;
-- Create the index
EXEC xdb.DBMS_XDBT.createIndex;
如果index已存在,run: DROP INDEX XDB$CI;
2.Set the Sync
EXEC xdb.DBMS_XDBT.configureAutoSync;
3.Search
SELECT ANY_PATH FROM RESOURCE_VIEW
WHERE contains(RES, 'Paper') > 0 AND under_path(RES, '/test') > 0;
4.doc
Oracle Database PL/SQL Packages and Types Reference, for information on installing and using DBMS_XDBT
没有评论:
发表评论