2007年07月19日

今日の地獄めぐり

 Apache Lucene 2.2のorg.apache.lucene.search.Sortについて。
 SortのコンストラクタでfieldNameを指定してnewすると、フィールドの値から型を推定して(SortField.AUTO)ソートする。このときどうやら、フィールドの値が数字だけで構成されていると、型をintと推定するらしい。そして桁数が多すぎてintに入りきらない場合は、ソートが働かなくなる。なんのエラーも出さずに、だ。
 java.util.Dateをフィールドに格納する場合は、org.apache.lucene.document.DateToolsで文字列に変換して入れろとされている。このDateToolsは"200707191045"という具合に変換する。200707191045はintの最大値よりも大きいので、まさに上のケースに該当する。
 というわけで今日は地獄めぐりをさせられた。

Posted by hajime at 2007年07月19日 23:52
Comments
Post a comment






Remember personal info?