5.5.5.1 Oracle Textのデータ型の処理

Oracle Textを使用するテキスト索引は、プロパティ・グラフ表のKおよびVテキスト列に対して作成されます。使用可能なすべてのデータ型でテキスト索引付け機能を提供するために、V列に数値、空間および日時のキー/値ペアの文字列表現が移入されます。

V列への移入時に使用される日時および数値形式を指定するには、メソッドsetNumberToCharSqlFormatStringおよびsetTimeToCharSqlFormatStringを使用できます。次のコード・スニペットは、プロパティ・グラフ・インスタンスの日時および数値形式の設定方法を示します。

OraclePropertyGraph opg = OraclePropertyGraph.getInstance(args,       
                                                          szGraphName);
opg.setNumberToCharSqlFormatString("TM9");
opg.setTimeToCharSqlFormatString("SYYYY-MM-DD\"T\"HH24:MI:SS.FF9TZH:TZM");

数値または日時値に対してテキスト検索問合せを実行するときは、プロパティ・グラフに関連付けられた形式を使用したテキスト式を使用する必要があります。OraclePropertyGraphにはユーティリティAPI opg.parseValueToCharSQLFormatStringが含まれ、これにより数値または日時オブジェクトをV列ストレージで使用される形式へ解析できます。次のコード・スニペットは、日付値を使用してこの関数を呼び出し、取得したテキストからテキスト問合せオブジェクトを作成します。

Date d = new java.util.Date(100l);
String szDate = opg.parseValueToCharSQLFormatString(d);

// Create the text query object for Oracle Text
OracleTextQueryObject otqo 
               = OracleTextQueryObject.getInstance(szDate /* query body */, 
                                                   1 /* score */, 
                                                   ScoreRange.POSITIVE /* Score range */,   
                                                   Direction.ASC /* order by direction);