『Oracle Textアプリケーション開発者ガイド』のこのリリースでの変更点
ここでは、このリリースのOracle Textで変更された点について説明します。
Oracle Databaseリリース18c、バージョン18.1のOracle Textの変更点
このトピックでは、Oracle Database 18c、バージョン18.1のOracle Textの変更点について説明しています。
新機能
この項では、Oracle Databaseリリース18c、バージョン18.1のOracle Textで導入された新機能について説明します。
ファセット・ナビゲーションのサポート
Oracle Textでは、ファセット・ナビゲーションのサポートを提供します。SDATA
セクションと結果セット・インタフェース問合せを使用して、ファセット・ナビゲーションがサポートされたアプリケーションをビルドできるようになりました。
参照:
効率的なワイルドカード検索のサポート
ワイルドカード索引付けでは、すべてのワイルドカード式について高速かつ効率的なワイルドカード検索をサポートします。新しいワードリスト・プリファレンスのWILDCARD_INDEX
は、現在のオプション(SUBSTRING_INDEX
、PREFIX_INDEX
およびREVERSE_INDEX
)に代わるものです。WILDCARD_INDEX
を有効にすると、K-gram (固定長サブストリング・パーティクル)索引により、各トークン内のすべてのサブストリングが索引付けされます。新しいワードリスト・プリファレンスのWILDCARD_INDEX_K
は、使用されるgram長(つまり、索引付けされた各サブストリングの長さ)を制御します。
ワイルドカード索引付けは、シングルバイト文字のみを使用する言語でサポートされています。
関連項目:
-
BASIC_WORDLIST
属性表とWILDCARD_INDEX
およびWILDCARD_INDEX_K
属性の詳細は、『Oracle Textリファレンス』を参照してください。
自動バックグラウンド索引メンテナンス
$G
表の断片化が進むと問合せのパフォーマンスは低下します。これを防ぐために、Oracle Textではすべての索引またはパーティションに対する自動バックグラウンド最適化マージ機能が提供されています。
索引の同期化をしばらく実行していると、索引表が断片化されることがあります。この問題を回避するために、Oracle Textでは自動バックグラウンド・ジョブを実行して各種索引表を最適化します。
関連項目:
-
CONTEXT索引のSTAGE_ITAB、STAGE_ITAB_MAX_ROWS、STAGE_ITAB_PARALLELオプションを使用した応答時間の短縮
-
ALTER INDEX
の詳細は、『Oracle Textリファレンス』を参照してください。 -
CREATE INDEX
の詳細は、『Oracle Textリファレンス』を参照してください。
同時データ操作言語操作のサポート
SYNC (ON COMMIT)
オプションを使用して作成された索引の場合、同期化は同じトランザクションの一部として実行されます。致命的な索引の同期化エラーがある場合、データ・トランザクション全体がロールバックされます。致命的でない(個々の行の)同期エラーはCTX_USER_INDEX_ERRORS
ビューに記録されるものの、トランザクションは完了します。
索引を最適化する新しいオプション
CTX_DDL.OPTIMIZE_INDEX
プロシージャには、maxtokens
およびsection_type
という新しい2つのパラメータがあります。
関連項目:
64文字を超えるJSONキー名の索引付けのサポート
CTXCAT
およびCTXRULE
索引を除くすべてのOracle Text索引タイプは、VARCHAR2 (255 BYTE)
型の表列にトークンを格納するようになりました。SDATA
セクションでは引き続き、VARCHAR2 (249 BYTE)
型の表列にトークンが格納されます。
注意:
64バイトより長い名前のオブジェクト・フィールドを含むJSONデータを索引付けする場合、Oracleデータベース18cより前に作成されたJSON検索索引およびOracle Text索引は再構築する必要があります。詳細は、『Oracle Databaseアップグレード・ガイド』を参照してください。
関連項目:
トークン制限の詳細は、『Oracle Textリファレンス』を参照してください。
非推奨になった機能
次の機能は、Oracle Databaseリリース18cでは非推奨であり、将来のリリースではサポートされなくなる可能性があります。
-
MAIL_FILTER
関連項目:
-
NEWS_SECTION_GROUP
Oracle Databaseリリース18cで非推奨となった機能は、『Oracle Databaseアップグレード・ガイド』で説明されています。
Oracle Text 12cリリース2 (12.2.0.1)での変更点
このトピックでは、Oracle Database 12cリリース2 (12.2.0.1)のOracle Textの変更点について説明しています。
新機能
この項では、Oracle Database 12cリリース2 (12.2.0.1)のOracle Textで導入された新機能について説明します。
索引内の更新されたドキュメントの保持
Oracle TextではASYNCHRONOUS_UPDATE
オプションを使用して索引エントリを継続的に更新して、元のコンテンツを検索できます。
関連項目:
DMLの改良点
Oracle Textは、索引検索のための新しい記憶域プリファレンスSMALL_R_ROW
をサポートします。
Oracle Textでは、ロックされた元表の行はサポートされなくなりました。各索引またはパーティションの新しい$U
表によりすべての同時更新が追跡され、この$U
表用に新しい$U_TABLE_CLAUSE
記憶域句も導入されました。
関連項目:
-
BASIC_STORAGE
属性表とSMALL_R_ROW
属性の詳細は、『Oracle Textリファレンス』を参照してください。
左切捨て問合せの逆トークン索引
Oracle Textには、左切捨て問合せのための新しいREVERSE_INDEX
属性があります。この属性はワードリスト・プリファレンスの一部であり、TRUE
またはFALSE
に設定できます。デフォルトでは、新しい機能が無効化されるようFALSE
に設定されています。CTX_DDL.SET_ATTRIBUTE
プロシージャを使用してこの属性を設定できます。また、他のワードリスト・プリファレンスと同様にALTER INDEX REBUILD
を使用して追加することもできます。この属性は、左切捨て問合せの問合せパフォーマンスを向上させる場合に使用します。
関連項目:
BASIC_WORDLIST
属性表とREVERSE_INDEX
属性の詳細は、『Oracle Textリファレンス』を参照してください。
パーティション固有のニア・リアルタイム索引
Oracle Textはパーティション固有のSTAGE_ITAB
オプションをサポートされており、挿入や更新、削除が頻繁に行われることによりメイン索引が断片化するのを防ぐための2レベルでの索引付けメカニズムを提供します。このオプションはたとえば、通常静的なデータを含めるパーティションもあればすぐに変化するデータを含めるパーティションもあるという場合に、パーティション・レベルで指定します。
STAGE_ITAB_PARALLEL
記憶域オプションは、$G
ステージング表からのデータを$I
表にマージして戻すために使用する並列度のレベルを制御します。
ニア・リアルタイム$G
索引表が大きくなりすぎてメモリーに適合しなくなることを防ぐために、表の最大サイズを指定します。
センチメント分析およびコロケート
Oracle Textでは、センチメント分析およびコロケートをサポートします。センチメント分析では、検索語に関連付けられた肯定的および否定的な傾向を識別できます。コロケートにより、指定されたキーワードに関連するまたは頻繁に併用する他のキーワードを特定できます。
NEAR2演算子とNDATA演算子の拡張
既存のNEAR
演算子の機能強化版である新しい演算子NEAR2
が用意されています。NEAR2
演算子の目的は、PHRASE、NEAR
およびAND
演算子のセマンティクスを組み合せることです。
NDATA
演算子では、文字と発音照合の類似度スコアリングの制御を強化できるようになりました。また、操作によって返される全体的なランク付けされた結果の制御も強化されています。
日本語のVGRAMレクサーとWORLDレクサーの結合文字のサポート
Oracle Textは、日本語のVGRAM
レクサーとWORLD
レクサーに対応する結合文字を提供します。
新しいドキュメント・フォーマット
Oracle Textには、新しいドキュメント・フォーマットをサポートする新しいテキスト・フィルタがあります。
ドキュメント内の単語のシノニムの抽出
Oracle TextのCTX_DOC
パッケージには、シソーラスのサポートを有効にする新しいオプションがあります。CTX_DOC.TOKENS
およびCTX_DOC.POLICY_TOKENS
プロシージャを使用して索引トークンのシノニムを抽出できます。
関連項目:
-
Oracle Textリファレンスの
POLICY_TOKENS
に関する説明 -
『Oracle Textリファレンス』の
TOKENS
に関する説明 -
『Oracle Textリファレンス』のトークン表
読取り専用のMDATAセクション
Oracle Textは読取り専用MDATA
セクションをサポートします。セクションに対する問合せ時には、各MDATA演算子に対して余分なカーソルはオープンされません。更新不可のMDATAセクションではMDATA値の追加や削除ができないため、更新されたMDATA値を追跡する際の余分なオーバーヘッドがなく、問合せの実行が迅速化します。
関連項目:
Oracle Textオブジェクトの索引名の長さと長い識別子のサポート
Oracle Textの索引名はデータベース・オブジェクト名と同じ長さにできます。長さは、Oracle Databaseリリース12.2互換以降では128バイト、それ以前のリリースの場合は30バイトです。Oracle Textは、Oracle Textオブジェクトの長い識別子をサポートしています。最大サイズが128バイトに増えました。
MAX_INDEX_MEMORYパラメータのデフォルト値と上限の増加
Oracle Textでは、索引付けの目的で割り当てることができるMAX_INDEX_MEMORY
パラメータのデフォルト値と上限が増えました。このサイズは256GBに増えています。
JSONの改善
より簡易な代替構文を使用してJSONに検索索引を作成できます。
関連項目:
JSONの検索索引の作成の詳細は、『Oracle Database JSON開発者ガイド』を参照してください。