Lucene 3.0.3 に数値フィールドがあり、範囲クエリで問題なく動作します。TermQuery に切り替えると、結果は生成されません。例えば:
Document doc = new Document();
String name = "geolongitude";
NumericField numericField = new NumericField(name);
double value = 29.0753505;
String valueAsString = "29.0753505";
numericField.setDoubleValue(value);
doc.add(numericField);
indexWriter.addDocument(doc);
indexWriter.commit();
indexWriter.close();
IndexSearcher indexSearcher = new IndexSearcher(open);
Query termQ = new TermQuery(new Term(name, valueAsString));
TopDocs search = indexSearcher.search(termQ, 10);
この場合、結果は得られません。「NumericTermQuery」が存在するかどうかを調べようとしましたが、見つかりませんでした。ちょっとトリッキーなことをすることもできますが(検索している用語の範囲クエリを作成する)、解決策が気に入りません。
ありがとうございました!