List of usage examples for org.apache.lucene.queries.function FunctionValues toString
public abstract String toString(int doc) throws IOException;
From source file:org.apache.solr.analytics.util.valuesource.DualDoubleFunction.java
License:Apache License
@Override public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException { final FunctionValues aVals = a.getValues(context, readerContext); final FunctionValues bVals = b.getValues(context, readerContext); return new DoubleDocValues(this) { @Override// w w w . j a v a2s .c o m public double doubleVal(int doc) { return func(doc, aVals, bVals); } @Override public boolean exists(int doc) { return aVals.exists(doc) & bVals.exists(doc); } @Override public String toString(int doc) { return name() + '(' + aVals.toString(doc) + ',' + bVals.toString(doc) + ')'; } }; }
From source file:org.apache.solr.analytics.util.valuesource.FilterFieldSource.java
License:Apache License
@Override public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException { final FunctionValues vals = source.getValues(context, readerContext); return new FunctionValues() { @Override/*from w ww .j ava2 s.co m*/ public byte byteVal(int doc) { return vals.byteVal(doc); } @Override public short shortVal(int doc) { return vals.shortVal(doc); } @Override public float floatVal(int doc) { return vals.floatVal(doc); } @Override public int intVal(int doc) { return vals.intVal(doc); } @Override public long longVal(int doc) { return vals.longVal(doc); } @Override public double doubleVal(int doc) { return vals.doubleVal(doc); } @Override public String strVal(int doc) { return vals.strVal(doc); } @Override public Object objectVal(int doc) { return exists(doc) ? vals.objectVal(doc) : null; } @Override public boolean exists(int doc) { Object other = vals.objectVal(doc); return other != null && !missValue.equals(other); } @Override public String toString(int doc) { return NAME + '(' + vals.toString(doc) + ')'; } @Override public ValueFiller getValueFiller() { return new ValueFiller() { private final ValueFiller delegateFiller = vals.getValueFiller(); private final MutableValue mval = delegateFiller.getValue(); @Override public MutableValue getValue() { return mval; } @Override public void fillValue(int doc) { delegateFiller.fillValue(doc); mval.exists = exists(doc); } }; } }; }
From source file:org.apache.solr.analytics.util.valuesource.MultiDateFunction.java
License:Apache License
@Override public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException { final FunctionValues[] valsArr = new FunctionValues[sources.length]; for (int i = 0; i < sources.length; i++) { valsArr[i] = sources[i].getValues(context, readerContext); }// w w w. j ava2 s . c o m return new LongDocValues(this) { @Override public long longVal(int doc) { return func(doc, valsArr); } @Override public boolean exists(int doc) { boolean exists = true; for (FunctionValues val : valsArr) { exists = exists & val.exists(doc); } return exists; } @Override public String toString(int doc) { StringBuilder sb = new StringBuilder(); sb.append(name()).append('('); boolean firstTime = true; for (FunctionValues vals : valsArr) { if (firstTime) { firstTime = false; } else { sb.append(','); } sb.append(vals.toString(doc)); } sb.append(')'); return sb.toString(); } @Override public ValueFiller getValueFiller() { return new ValueFiller() { private final MutableValueDate mval = new MutableValueDate(); @Override public MutableValue getValue() { return mval; } @Override public void fillValue(int doc) { mval.value = longVal(doc); mval.exists = exists(doc); } }; } }; }
From source file:org.apache.solr.analytics.util.valuesource.MultiDoubleFunction.java
License:Apache License
@Override public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException { final FunctionValues[] valsArr = new FunctionValues[sources.length]; for (int i = 0; i < sources.length; i++) { valsArr[i] = sources[i].getValues(context, readerContext); }//from w w w .ja va 2 s . c o m return new DoubleDocValues(this) { @Override public double doubleVal(int doc) { return func(doc, valsArr); } @Override public boolean exists(int doc) { boolean exists = true; for (FunctionValues val : valsArr) { exists = exists & val.exists(doc); } return exists; } @Override public String toString(int doc) { StringBuilder sb = new StringBuilder(); sb.append(name()).append('('); boolean firstTime = true; for (FunctionValues vals : valsArr) { if (firstTime) { firstTime = false; } else { sb.append(','); } sb.append(vals.toString(doc)); } sb.append(')'); return sb.toString(); } }; }
From source file:org.apache.solr.analytics.util.valuesource.MultiStringFunction.java
License:Apache License
@Override public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException { final FunctionValues[] valsArr = new FunctionValues[sources.length]; for (int i = 0; i < sources.length; i++) { valsArr[i] = sources[i].getValues(context, readerContext); }/*from w ww . jav a 2 s .c om*/ return new StrDocValues(this) { @Override public String strVal(int doc) { CharSequence cs = func(doc, valsArr); return cs != null ? cs.toString() : null; } @Override public boolean exists(int doc) { boolean exists = true; for (FunctionValues val : valsArr) { exists = exists & val.exists(doc); } return exists; } @Override public boolean bytesVal(int doc, BytesRefBuilder bytes) { bytes.clear(); CharSequence cs = func(doc, valsArr); if (cs != null) { bytes.copyChars(func(doc, valsArr)); return true; } else { return false; } } @Override public String toString(int doc) { StringBuilder sb = new StringBuilder(); sb.append(name()).append('('); boolean firstTime = true; for (FunctionValues vals : valsArr) { if (firstTime) { firstTime = false; } else { sb.append(','); } sb.append(vals.toString(doc)); } sb.append(')'); return sb.toString(); } @Override public ValueFiller getValueFiller() { return new ValueFiller() { private final MutableValueStr mval = new MutableValueStr(); @Override public MutableValue getValue() { return mval; } @Override public void fillValue(int doc) { mval.exists = bytesVal(doc, mval.value); } }; } }; }
From source file:org.apache.solr.analytics.util.valuesource.SingleDoubleFunction.java
License:Apache License
@Override public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException { final FunctionValues vals = source.getValues(context, readerContext); return new DoubleDocValues(this) { @Override/* w ww . j ava 2 s . co m*/ public double doubleVal(int doc) { return func(doc, vals); } @Override public boolean exists(int doc) { return vals.exists(doc); } @Override public String toString(int doc) { return name() + '(' + vals.toString(doc) + ')'; } }; }
From source file:org.apache.solr.search.function.distance.GeohashFunction.java
License:Apache License
@Override public FunctionValues getValues(Map context, AtomicReaderContext readerContext) throws IOException { final FunctionValues latDV = lat.getValues(context, readerContext); final FunctionValues lonDV = lon.getValues(context, readerContext); return new FunctionValues() { @Override/* ww w . j av a 2 s. com*/ public String strVal(int doc) { return GeohashUtils.encodeLatLon(latDV.doubleVal(doc), lonDV.doubleVal(doc)); } @Override public String toString(int doc) { StringBuilder sb = new StringBuilder(); sb.append(name()).append('('); sb.append(latDV.toString(doc)).append(',').append(lonDV.toString(doc)); sb.append(')'); return sb.toString(); } }; }
From source file:org.apache.solr.search.function.distance.GeohashHaversineFunction.java
License:Apache License
@Override public FunctionValues getValues(Map context, AtomicReaderContext readerContext) throws IOException { final FunctionValues gh1DV = geoHash1.getValues(context, readerContext); final FunctionValues gh2DV = geoHash2.getValues(context, readerContext); return new DoubleDocValues(this) { @Override// ww w .j av a 2 s .c o m public double doubleVal(int doc) { return distance(doc, gh1DV, gh2DV); } @Override public String toString(int doc) { StringBuilder sb = new StringBuilder(); sb.append(name()).append('('); sb.append(gh1DV.toString(doc)).append(',').append(gh2DV.toString(doc)); sb.append(')'); return sb.toString(); } }; }
From source file:org.apache.solr.search.function.distance.HaversineConstFunction.java
License:Apache License
@Override public FunctionValues getValues(Map context, AtomicReaderContext readerContext) throws IOException { final FunctionValues latVals = latSource.getValues(context, readerContext); final FunctionValues lonVals = lonSource.getValues(context, readerContext); final double latCenterRad = this.latCenter * DEGREES_TO_RADIANS; final double lonCenterRad = this.lonCenter * DEGREES_TO_RADIANS; final double latCenterRad_cos = this.latCenterRad_cos; return new DoubleDocValues(this) { @Override//from w w w . j a v a 2 s. c o m public double doubleVal(int doc) { double latRad = latVals.doubleVal(doc) * DEGREES_TO_RADIANS; double lonRad = lonVals.doubleVal(doc) * DEGREES_TO_RADIANS; double diffX = latCenterRad - latRad; double diffY = lonCenterRad - lonRad; double hsinX = Math.sin(diffX * 0.5); double hsinY = Math.sin(diffY * 0.5); double h = hsinX * hsinX + (latCenterRad_cos * Math.cos(latRad) * hsinY * hsinY); return (EARTH_MEAN_DIAMETER * Math.atan2(Math.sqrt(h), Math.sqrt(1 - h))); } @Override public String toString(int doc) { return name() + '(' + latVals.toString(doc) + ',' + lonVals.toString(doc) + ',' + latCenter + ',' + lonCenter + ')'; } }; }
From source file:org.apache.solr.search.function.distance.HaversineFunction.java
License:Apache License
@Override public FunctionValues getValues(Map context, AtomicReaderContext readerContext) throws IOException { final FunctionValues vals1 = p1.getValues(context, readerContext); final FunctionValues vals2 = p2.getValues(context, readerContext); return new DoubleDocValues(this) { @Override/* w w w .j a v a2 s .c o m*/ public double doubleVal(int doc) { return distance(doc, vals1, vals2); } @Override public String toString(int doc) { StringBuilder sb = new StringBuilder(); sb.append(name()).append('('); sb.append(vals1.toString(doc)).append(',').append(vals2.toString(doc)); sb.append(')'); return sb.toString(); } }; }