Examples of FunctionValues


Examples of org.apache.lucene.queries.function.FunctionValues

  }

  @Override
  public void setNextReader(AtomicReaderContext context) throws IOException {
    this.readerContext = context;
    FunctionValues values = groupBy.getValues(vsContext, context);
    filler = values.getValueFiller();
    mval = filler.getValue();

    for (GroupHead groupHead : groups.values()) {
      for (int i = 0; i < groupHead.comparators.length; i++) {
        groupHead.comparators[i] = groupHead.comparators[i].setNextReader(context);
View Full Code Here

Examples of org.apache.lucene.queries.function.FunctionValues

    }
  }

  @Override
  public void setNextReader(AtomicReaderContext context) throws IOException {
    FunctionValues values = groupBy.getValues(vsContext, context);
    filler = values.getValueFiller();
    mval = filler.getValue();
  }
View Full Code Here

Examples of org.apache.lucene.queries.function.FunctionValues

    }
  }

  @Override
  public void setNextReader(AtomicReaderContext context) throws IOException {
    FunctionValues values = groupSource.getValues(vsContext, context);
    groupFiller = values.getValueFiller();
    groupMval = groupFiller.getValue();
    values = countSource.getValues(vsContext, context);
    countFiller = values.getValueFiller();
    countMval = countFiller.getValue();
  }
View Full Code Here

Examples of org.apache.lucene.queries.function.FunctionValues

    this.falseSource = falseSource;
  }

  @Override
  public FunctionValues getValues(Map context, AtomicReaderContext readerContext) throws IOException {
    final FunctionValues ifVals = ifSource.getValues(context, readerContext);
    final FunctionValues trueVals = trueSource.getValues(context, readerContext);
    final FunctionValues falseVals = falseSource.getValues(context, readerContext);

    return new FunctionValues() {
      @Override
      public byte byteVal(int doc) {
        return ifVals.boolVal(doc) ? trueVals.byteVal(doc) : falseVals.byteVal(doc);
      }

      @Override
      public short shortVal(int doc) {
        return ifVals.boolVal(doc) ? trueVals.shortVal(doc) : falseVals.shortVal(doc);
      }

      @Override
      public float floatVal(int doc) {
        return ifVals.boolVal(doc) ? trueVals.floatVal(doc) : falseVals.floatVal(doc);
      }

      @Override
      public int intVal(int doc) {
        return ifVals.boolVal(doc) ? trueVals.intVal(doc) : falseVals.intVal(doc);
      }

      @Override
      public long longVal(int doc) {
        return ifVals.boolVal(doc) ? trueVals.longVal(doc) : falseVals.longVal(doc);
      }

      @Override
      public double doubleVal(int doc) {
        return ifVals.boolVal(doc) ? trueVals.doubleVal(doc) : falseVals.doubleVal(doc);
      }

      @Override
      public String strVal(int doc) {
        return ifVals.boolVal(doc) ? trueVals.strVal(doc) : falseVals.strVal(doc);
      }

      @Override
      public boolean boolVal(int doc) {
        return ifVals.boolVal(doc) ? trueVals.boolVal(doc) : falseVals.boolVal(doc);
      }

      @Override
      public boolean bytesVal(int doc, BytesRef target) {
        return ifVals.boolVal(doc) ? trueVals.bytesVal(doc, target) : falseVals.bytesVal(doc, target);
      }

      @Override
      public Object objectVal(int doc) {
        return ifVals.boolVal(doc) ? trueVals.objectVal(doc) : falseVals.objectVal(doc);
      }

      @Override
      public boolean exists(int doc) {
        return true; // TODO: flow through to any sub-sources?
      }

      @Override
      public ValueFiller getValueFiller() {
        // TODO: we need types of trueSource / falseSource to handle this
        // for now, use float.
        return super.getValueFiller();
      }

      @Override
      public String toString(int doc) {
        return "if(" + ifVals.toString(doc) + ',' + trueVals.toString(doc) + ',' + falseVals.toString(doc) + ')';
      }
    };

  }
View Full Code Here

Examples of org.apache.lucene.queries.function.FunctionValues

  protected abstract float func(int doc, FunctionValues vals);

  @Override
  public FunctionValues getValues(Map context, AtomicReaderContext readerContext) throws IOException {
    final FunctionValues vals =  source.getValues(context, readerContext);
    return new FloatDocValues(this) {
      @Override
      public float floatVal(int doc) {
        return func(doc, vals);
      }
      @Override
      public String toString(int doc) {
        return name() + '(' + vals.toString(doc) + ')';
      }
    };
  }
View Full Code Here

Examples of org.apache.lucene.queries.function.FunctionValues

  protected abstract boolean func(int doc, FunctionValues vals);

  @Override
  public BoolDocValues getValues(Map context, AtomicReaderContext readerContext) throws IOException {
    final FunctionValues vals =  source.getValues(context, readerContext);
    return new BoolDocValues(this) {
      @Override
      public boolean boolVal(int doc) {
        return func(doc, vals);
      }
      @Override
      public String toString(int doc) {
        return name() + '(' + vals.toString(doc) + ')';
      }
    };
  }
View Full Code Here

Examples of org.apache.lucene.queries.function.FunctionValues

    return new Values(valsArr(sources, fcontext, readerContext)) {
      final int upto = valsArr.length - 1;

      private FunctionValues get(int doc) {
        for (int i=0; i<upto; i++) {
          FunctionValues vals = valsArr[i];
          if (vals.exists(doc)) {
            return vals;
          }
        }
        return valsArr[upto];
      }

      @Override
      public byte byteVal(int doc) {
        return get(doc).byteVal(doc);
      }

      @Override
      public short shortVal(int doc) {
        return get(doc).shortVal(doc);
      }

      @Override
      public float floatVal(int doc) {
        return get(doc).floatVal(doc);
      }

      @Override
      public int intVal(int doc) {
        return get(doc).intVal(doc);
      }

      @Override
      public long longVal(int doc) {
        return get(doc).longVal(doc);
      }

      @Override
      public double doubleVal(int doc) {
        return get(doc).doubleVal(doc);
      }

      @Override
      public String strVal(int doc) {
        return get(doc).strVal(doc);
      }

      @Override
      public boolean boolVal(int doc) {
        return get(doc).boolVal(doc);
      }

      @Override
      public boolean bytesVal(int doc, BytesRef target) {
        return get(doc).bytesVal(doc, target);
      }

      @Override
      public Object objectVal(int doc) {
        return get(doc).objectVal(doc);
      }

      @Override
      public boolean exists(int doc) {
        // return true if any source is exists?
        for (FunctionValues vals : valsArr) {
          if (vals.exists(doc)) {
            return true;
          }
        }
        return false;
      }
View Full Code Here

Examples of org.apache.lucene.queries.function.FunctionValues

    // To be sorted or not to be sorted, that is the question
    // TODO: do it cleaner?
    if (fieldInfo != null && fieldInfo.getDocValuesType() == DocValuesType.BINARY) {
      final BinaryDocValues binaryValues = FieldCache.DEFAULT.getTerms(readerContext.reader(), field, true);
      final Bits docsWithField = FieldCache.DEFAULT.getDocsWithField(readerContext.reader(), field);
      return new FunctionValues() {

        @Override
        public boolean exists(int doc) {
          return docsWithField.get(doc);
        }
View Full Code Here

Examples of org.apache.lucene.queries.function.FunctionValues

  public FunctionValues getValues(Map context, AtomicReaderContext readerContext) throws IOException {
    int size = sources.size();

    // special-case x,y and lat,lon since it's so common
    if (size==2) {
      final FunctionValues x = sources.get(0).getValues(context, readerContext);
      final FunctionValues y = sources.get(1).getValues(context, readerContext);
      return new FunctionValues() {
        @Override
        public void byteVal(int doc, byte[] vals) {
          vals[0] = x.byteVal(doc);
          vals[1] = y.byteVal(doc);
        }

        @Override
        public void shortVal(int doc, short[] vals) {
          vals[0] = x.shortVal(doc);
          vals[1] = y.shortVal(doc);
        }
        @Override
        public void intVal(int doc, int[] vals) {
          vals[0] = x.intVal(doc);
          vals[1] = y.intVal(doc);
        }
        @Override
        public void longVal(int doc, long[] vals) {
          vals[0] = x.longVal(doc);
          vals[1] = y.longVal(doc);
        }
        @Override
        public void floatVal(int doc, float[] vals) {
          vals[0] = x.floatVal(doc);
          vals[1] = y.floatVal(doc);
        }
        @Override
        public void doubleVal(int doc, double[] vals) {
          vals[0] = x.doubleVal(doc);
          vals[1] = y.doubleVal(doc);
        }
        @Override
        public void strVal(int doc, String[] vals) {
          vals[0] = x.strVal(doc);
          vals[1] = y.strVal(doc);
        }
        @Override
        public String toString(int doc) {
          return name() + "(" + x.toString(doc) + "," + y.toString(doc) + ")";
        }
      };
    }


    final FunctionValues[] valsArr = new FunctionValues[size];
    for (int i = 0; i < size; i++) {
      valsArr[i] = sources.get(i).getValues(context, readerContext);
    }

    return new FunctionValues() {
      @Override
      public void byteVal(int doc, byte[] vals) {
        for (int i = 0; i < valsArr.length; i++) {
          vals[i] = valsArr[i].byteVal(doc);
        }
View Full Code Here

Examples of org.apache.lucene.queries.function.FunctionValues

    float minVal = Float.POSITIVE_INFINITY;
    float maxVal = Float.NEGATIVE_INFINITY;

    for (AtomicReaderContext leaf : leaves) {
      int maxDoc = leaf.reader().maxDoc();
      FunctionValues vals =  source.getValues(context, leaf);
      for (int i=0; i<maxDoc; i++) {

      float val = vals.floatVal(i);
      if ((Float.floatToRawIntBits(val) & (0xff<<23)) == 0xff<<23) {
        // if the exponent in the float is all ones, then this is +Inf, -Inf or NaN
        // which don't make sense to factor into the scale function
        continue;
      }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.