C.1 Datastore Examples
You can use datastore preferences to specify how your text is stored. These are the examples for setting some of the datastore preference types.
Specifying DIRECT_DATASTORE
This example creates a table with a CLOB column to store text data. It then populates two rows with text data and indexes the table by using the system-defined CTXSYS.DEFAULT_DATASTORE preference, which uses the DIRECT_DATASTORE preference type.
create table mytable(id number primary key, docs clob);
insert into mytable values(111555,'this text will be indexed');
insert into mytable values(111556,'this is a default datastore example');
commit;
create index myindex on mytable(docs)
indextype is ctxsys.context
parameters ('DATASTORE CTXSYS.DEFAULT_DATASTORE');Specifying MULTI_COLUMN_DATASTORE
This example creates a MULTI_COLUMN_DATASTORE datastore preference called my_multi on the three text columns to be concatenated and indexed:
begin
ctx_ddl.create_preference('my_multi', 'MULTI_COLUMN_DATASTORE');
ctx_ddl.set_attribute('my_multi', 'columns', 'column1, column2, column3');
end;Specifying FILE_DATASTORE
This example creates a data storage preference by using FILE_DATASTORE to specify that the files to be indexed are stored in the operating system. The example uses CTX_DDL.SET_ATTRIBUTE to set the PATH attribute to the /docs directory.
begin
ctx_ddl.create_preference('mypref', 'FILE_DATASTORE');
ctx_ddl.set_attribute('mypref', 'PATH', '/docs');
end;Note:
Starting with Oracle Database 19c, the Oracle Text type
FILE_DATASTORE is deprecated. Use
DIRECTORY_DATASTORE instead.
Specifying DIRECTORY_DATASTORE
This example creates a DIRECTORY_DATASTORE preference called MYDS. The example uses CTX_DDL.SET_ATTRIBUTE to set the DIRECTORY attribute to myhome, which is the Oracle directory object.
exec ctx_ddl.create_preference('MYDS','DIRECTORY_DATASTORE')
exec ctx_ddl.set_attribute('MYDS','DIRECTORY','myhome')
Specifying URL_DATASTORE
This example creates a URL_DATASTORE preference called my_url to which the HTTP_PROXY, NO_PROXY, and TIMEOUT attributes are set. The TIMEOUT attribute is set to 300 seconds. The defaults are used for the attributes that are not set.
begin
ctx_ddl.create_preference('my_url','URL_DATASTORE');
ctx_ddl.set_attribute('my_url','HTTP_PROXY','www-proxy.us.example.com');
ctx_ddl.set_attribute('my_url','NO_PROXY','us.example.com');
ctx_ddl.set_attribute('my_url','TIMEOUT','300');
end;Note:
Starting with Oracle Database 19c, the Oracle Text type
URL_DATASTORE is deprecated. Use
NETWORK_DATASTORE instead.
Specifying NETWORK_DATASTORE
This example creates a NETWORK_DATASTORE preference called NETWORK_PREF to which the HTTP_PROXY, NO_PROXY, and TIMEOUT attributes are set. The TIMEOUT attribute is set to 300 seconds. The defaults are used for the attributes that are not set.
begin
ctx_ddl.create_preference('NETWORK_PREF','NETWORK_DATASTORE');
ctx_ddl.set_attribute('NETWORK_PREF','HTTP_PROXY','www-proxy.us.example.com');
ctx_ddl.set_attribute('NETWORK_PREF','NO_PROXY','us.example.com');
ctx_ddl.set_attribute('NETWORK_PREF','TIMEOUT','300');
end;
/Related Topics