final FieldCache.StringIndex index = cache.getStringIndex(reader, field);
final int[] order = index.order;
final String[] lookup = index.lookup;
final float def = defVal;
return new DocValues() {
public float floatVal(int doc) {
int ord=order[doc];
return ord==0 ? def : NumberUtils.SortableStr2float(lookup[ord]);
}