日期,价格相关的索引查询可采取同样的方式实现,创建索引时使用LongField类型,索引查询时使用NumericRangeQuery进行区间查询
当所需创建的索引中存在小数时,可在创建索引时将数值乘以100,缺包把小数变为整数,然后进行索引与查询,返回结果在除以100即可
代码实现
//创建索引
Field date = new LongField("date", new Date().getTime(), Field.Store.YES);
//索引查询
long minDate = Long.parseLong(minD);
long maxDate = Long.parseLong(maxD);
NumericRangeQuery<Long> query = NumericRangeQuery.newLongRange("date", minDate, maxDate, true, true);