オブジェクト・ストレージのファイルに対する全文検索の使用
PL/SQLパッケージDBMS_CLOUDを使用すると、オブジェクト・ストア・ファイルにテキスト索引を作成できます。これにより、テキストを検索したり、検索でワイルドカードを使用できます。
- オブジェクト・ストレージのファイルの全文検索について
オブジェクト・ストレージのファイルにテキスト索引を作成できます。テキスト索引を使用すると、オブジェクト・ストア内の非常に大きなデータ・セットに対して単語ベースの検索を実行できます。 - オブジェクト・ストレージ・ファイルでのテキスト索引の作成
DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
を使用して、オブジェクト・ストレージ内のファイルにテキスト索引を作成します。 - クラウド・ストレージ・ファイルへの索引の削除
DBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
プロシージャを使用して、オブジェクト・ストレージ・ファイルのテキスト索引を削除します。 - テキスト索引参照表
ローカル表は、標準接尾辞INDEX_NAME$TXTIDX
を使用してデータベース内に作成されます。この表は、DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
を実行すると内部的に作成されます。 - テキスト索引作成のモニター
DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
を実行すると、テキスト索引作成操作がALL_SCHEDULER_JOB_RUN_DETAILS
ビューに記録されます。
親トピック: 全文検索問合せ
オブジェクト・ストレージのファイルに対するフルテキスト検索について
DBMS_CLOUD
は、オブジェクト・ストア内のデータを高速かつ効率的に管理する方法を提供します。DBMS_CLOUD
APIを使用すると、オブジェクト・ストアに存在するファイルを作成、コピー、ダウンロード、削除およびトラバースできます。外部表を定義する場合、オブジェクト・ストア(またはハイブリッド・パーティション外部表、データベース内のデータおよびオブジェクト・ストア内のデータ)に格納されているデータに対してSQL問合せを実行できます。DBMS_CLOUD
を使用してテキスト索引を定義する場合は、データをテキストで検索してワイルドカードを使用できます。
Autonomous Databaseでのワードベース検索のサポートは、CSVやJSONなど、一般的に使用されるデータ形式、およびPDFやDOC (MS Word)形式などのフォーマット済ドキュメント(バイナリ)に対して機能します。新しいアップロードまたは削除で索引がリフレッシュされる頻度を示すリフレッシュ・レートを分単位で構成できます。
オブジェクト・ストレージに索引を作成すると、標準接尾辞INDEX_NAME$TXTIDX
を持つローカル表が作成され、その表を使用してCONTAINS
キーワードを使用して検索を実行できます。
詳細は、「Oracle Textでの索引付け」を参照してください。
親トピック: オブジェクト・ストレージのファイルでの全文検索の使用
オブジェクト・ストレージ・ファイルでのテキスト索引の作成
DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
を使用して、オブジェクト・ストレージ内のファイルにテキスト索引を作成します。
DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
でbinary_files
format
オプションを指定すると、フォーマットされたドキュメント(バイナリ)がサポートされます。
DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
でstop_words
format
オプションを指定すると、ストップワード・リストを含めることができます。
Oracle Textのストップ・ワードおよびバイナリ・ファイルの操作の詳細は、Oracle Textを使用した索引付けを参照してください。
親トピック: オブジェクト・ストレージのファイルでの全文検索の使用
クラウド・ストレージ・ファイルの索引の削除
DBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
プロシージャを使用して、オブジェクト・ストレージ・ファイルのテキスト索引を削除します。
DBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
プロシージャを実行して、オブジェクト・ストレージ内のファイルのテキスト索引を削除します。
BEGIN
DBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
(
index_name => 'EMP',
);
END;
/
この例では、EMP
テキスト索引を削除します。
詳細は、DROP_EXTERNAL_TEXT_INDEXプロシージャを参照してください。
親トピック: オブジェクト・ストレージのファイルでの全文検索の使用
テキスト索引参照表
ローカル表は、標準接尾辞INDEX_NAME$TXTIDX
を使用してデータベース内に作成されます。この表は、DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
を実行すると内部的に作成されます。
INDEX_NAME$TXTIDX
表を問い合せると、CONTAINS
キーワードを使用して文字列を検索できます。たとえば、INDEX_NAME
値をEMP
としてDBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
プロシージャをコールすると、EMP$TXTIDX
がテキスト参照表になります。
-
object_name
: 検索されたテキスト文字列を含むオブジェクト・ストレージのファイル名です。 -
object_path
: オブジェクト・ストレージ・ファイルを含むオブジェクト・ストレージ・バケットまたはフォルダURIです。 -
mtime
: オブジェクト・ストレージ・ファイルの最終変更タイムスタンプです。これは、ファイルがDBMS_CLOUD
によって最後にアクセスされた時間です。
SELECT object_path, object_name FROM EMP$TXTIDX WHERE CONTAINS(OBJECT_NAME, 'king') > 0;
OBJECT_PATH OBJECT_NAME
------------------------------------------------------------------------------------------ ------------------------------------
https://objectstorage.us-phoenix-1.oraclecloud.com/n/example1/b/adbs_data_share/o/ts_data/ data_2_20221026T195313585601Z.json
この問合せは、テキスト文字列king
を含むオブジェクト・ストレージ上のファイル名および場所URIを大文字または小文字で返します。
SELECT object_name, mtime FROM EMP$TXTIDX;
OBJECT_NAME MTIME
----------------------------- -------------------------------------
data_1_20220531T165402Z.json 31-MAY-22 04.54.02.979000 PM +00:00
data_1_20220531T165427Z.json 31-MAY-22 04.54.27.997000 PM +00:00
この問合せは、索引EMP
が作成されたオブジェクト・ファイルのファイル名および最終変更タイムスタンプを返します。
親トピック: オブジェクト・ストレージのファイルでの全文検索の使用
テキスト索引作成のモニター
DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
を実行すると、テキスト索引作成操作がALL_SCHEDULER_JOB_RUN_DETAILS
ビューに記録されます。
ALL_SCHEDULER_JOB_RUN_DETAILS
ビューを問い合せると、索引作成ジョブによって報告されたステータスおよびエラーを取得できます。
DBMS_SCHEDULER
ジョブの名前は、DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
をコールしたときに指定されたINDEX_NAME
パラメータから導出されます。
ALL_SCHEDULER_JOB_RUN_DETAILS
ビューを問い合せるには、ADMIN
ユーザーとしてログインしているか、ALL_SCHEDULER_JOB_RUN_DETAILS
ビューに対するREAD
権限を持っている必要があります。
たとえば、job_name
にWHERE
句を指定した次のSELECT
文は、ジョブの実行の詳細を示します。
SELECT status, additional_info
FROM all_scheduler_job_run_details WHERE LOWER(job_name) = LOWER('index_name$JOB');
索引作成スケジューラ・ジョブの存在を問い合せることもできます。
SELECT status
FROM all_scheduler_jobs where LOWER(job_name) = LOWER('index_name$JOB');
詳細は、CREATE_EXTERNAL_TEXT_INDEXプロシージャを参照してください。
親トピック: オブジェクト・ストレージのファイルでの全文検索の使用