Interstage Shunsaku Data Manager アプリケーション開発ガイド - Microsoft(R) Windows(R) 2000/ Microsoft(R) Windows Server(TM) 2003 - - UNIX共通 -
目次 索引 前ページ次ページ

第2部 APIでのアプリケーション開発> 第9章 Java APIのアプリケーション開発> 9.3 Java APIの使用方法> 9.3.2 データの検索

9.3.2.4 ヒット件数の上限値を設定する

ヒット件数の上限値を設定することで、ソートまたは集計の応答性能を安定させることができます。ヒット件数が上限値を超えた場合には、ソートまたは集計を中断し検索条件に一致したヒット件数を通知します。

ヒット件数が上限値を超えないように検索式に条件を追加し、ソートまたは集計の検索範囲を絞り込みます。

ヒット件数の上限値を設定するには、setHitCountLimitメソッドを使用します。

ヒット件数の上限値を設定する場合の流れについて、以下の図に示します。

[図:ヒット件数の上限値を設定する場合の流れ]

■記述例

ShunConnection con = new ShunConnection();

String queryExpression = "/document/base/prefecture == '大阪'";
String returnExpression = "/document/base/name, /document/base/price";
String sortExpression = "val(/document/base/price/text()) DESC";
ShunPreparedStatement pstmt = con.prepareSearch(queryExpression, returnExpression);
pstmt.setSort(sortExpression);

/* ヒット件数の上限値を設定 */
pstmt.setHitCountLimit(10000);                                       (1)

ShunResultSet rs = pstmt.executeSearch();

/* ヒット件数が上限値を超えているかの確認 */
if (rs.isHitCountLimitOver() ) {                                     (2)
  System.out.println("ヒット件数が上限値を超えました");
  System.out.println("[ヒット件数] = " + rs.getHitCount());           (3)
}
else {
  System.out.println("[ヒット件数] = " + rs.getHitCount());
  while(rs.next()) {
   System.out.println("[検索結果] = " + rs.getString());
   }
}
rs.close();
pstmt.close();
con.close();

◆(1) ヒット件数の上限値設定

setHitCountLimitメソッドのパラメタにヒット件数の上限値を設定します。

ソート式が設定されていない場合には、executeSearchメソッド実行時にエラーとなります。

◆(2) ヒット件数が上限値を超えているの確認

isHitCountLimitOverメソッドでヒット件数が上限値を超えているかの確認をします。

◆(3) ヒット件数の取出し

ヒット件数が上限値を超えている場合は、ヒット件数のみ取出し可能です。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006