C.1 データストア例
データストア・プリファレンスを使用して、テキストの格納方法を指定できます。いくつかのデータストア・プリファレンス型を設定する例を次に示します。
DIRECT_DATASTOREの指定
この例では、テキスト・データを格納するCLOB
列がある表を作成します。その後、2行のテキスト・データを移入し、DIRECT_DATASTORE
プリファレンス型を使用するシステム定義のCTXSYS.DEFAULT_DATASTORE
プリファレンスを使用して表を索引付けします。
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');
MULTI_COLUMN_DATASTOREの指定
この例では、my_multi
というMULTI_COLUMN_DATASTORE
データストア・プリファレンスを、連結されて索引付けされる3つのテキスト列に作成します。
begin ctx_ddl.create_preference('my_multi', 'MULTI_COLUMN_DATASTORE'); ctx_ddl.set_attribute('my_multi', 'columns', 'column1, column2, column3'); end;
FILE_DATASTOREの指定
この例では、FILE_DATASTORE
を使用して、索引付けするファイルがオペレーティング・システムに格納されていることを指定するデータ記憶域プリファレンスを作成します。この例では、CTX_DDL.SET_ATTRIBUTE
を使用して、PATH
属性を/docs
ディレクトリに設定します。
begin ctx_ddl.create_preference('mypref', 'FILE_DATASTORE'); ctx_ddl.set_attribute('mypref', 'PATH', '/docs'); end;
ノート:
Oracle Database 19c以降、Oracle TextのFILE_DATASTORE
型は非推奨になりました。かわりに、DIRECTORY_DATASTORE
を使用してください。
DIRECTORY_DATASTOREの指定
この例では、MYDS
というDIRECTORY_DATASTORE
プリファレンスを作成します。この例では、CTX_DDL.SET_ATTRIBUTE
を使用して、DIRECTORY
属性をOracleディレクトリ・オブジェクトであるmyhome
に設定します。
exec ctx_ddl.create_preference('MYDS','DIRECTORY_DATASTORE')
exec ctx_ddl.set_attribute('MYDS','DIRECTORY','myhome')
URL_DATASTOREの指定
この例では、my_url
というURL_DATASTORE
プリファレンスを作成し、HTTP_PROXY
、NO_PROXY
およびTIMEOUT
の各属性を設定します。TIMEOUT
属性は300秒に設定されます。属性を設定しない場合は、デフォルトが使用されます。
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;
ノート:
Oracle Database 19c以降、Oracle TextのURL_DATASTORE
型は非推奨になりました。かわりに、NETWORK_DATASTORE
を使用してください。
NETWORK_DATASTOREの指定
この例では、NETWORK_PREF
というNETWORK_DATASTORE
プリファレンスを作成し、HTTP_PROXY
、NO_PROXY
およびTIMEOUT
の各属性を設定します。TIMEOUT
属性は300秒に設定されます。属性を設定しない場合は、デフォルトが使用されます。
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;
/
関連トピック