Examples of FunctionValues


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

    this.max = max;
  }

  @Override
  public DocIdSet getDocIdSet(AtomicReaderContext context, Bits acceptDocs) throws IOException {
    final FunctionValues values = source.getValues( null, context );
    return new FilteredDocIdSet(startingFilter.getDocIdSet(context, acceptDocs)) {
      @Override
      public boolean match(int doc) {
        double val = values.doubleVal( doc );
        return val >= min && val <= max;
      }
    };
  }
View Full Code Here

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

  }

  @Override
  public FunctionValues getValues(Map context, AtomicReaderContext readerContext) throws IOException {
    final int base = readerContext.docBase;
    final FunctionValues vals = source.getValues(context,readerContext);
    return new FunctionValues() {

      @Override
      public double doubleVal(int doc) {
        Integer key = Integer.valueOf( base+doc );
        Double v = cache.get( key );
        if( v == null ) {
          v = Double.valueOf( vals.doubleVal(doc) );
          cache.put( key, v );
        }
        return v.doubleValue();
      }
View Full Code Here

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

    shapeValuesource.createWeight(context, searcher);
  }

  @Override
  public FunctionValues getValues(Map context, AtomicReaderContext readerContext) throws IOException {
    final FunctionValues shapeValues = shapeValuesource.getValues(context, readerContext);

    return new BoolDocValues(this) {
      @Override
      public boolean boolVal(int doc) {
        Shape indexedShape = (Shape) shapeValues.objectVal(doc);
        if (indexedShape == null)
          return false;
        return op.evaluate(indexedShape, queryShape);
      }

      @Override
      public Explanation explain(int doc) {
        Explanation exp = super.explain(doc);
        exp.addDetail(shapeValues.explain(doc));
        return exp;
      }
    };
  }
View Full Code Here

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

    final FieldCache.Doubles ptX = FieldCache.DEFAULT.getDoubles(reader, strategy.getFieldNameX(), true);
    final FieldCache.Doubles ptY = FieldCache.DEFAULT.getDoubles(reader, strategy.getFieldNameY(), true);
    final Bits validX =  FieldCache.DEFAULT.getDocsWithField(reader, strategy.getFieldNameX());
    final Bits validY =  FieldCache.DEFAULT.getDocsWithField(reader, strategy.getFieldNameY());

    return new FunctionValues() {

      private final Point from = DistanceValueSource.this.from;
      private final DistanceCalculator calculator = strategy.getSpatialContext().getDistCalc();
      private final double nullValue =
          (strategy.getSpatialContext().isGeo() ? 180 * multiplier : Double.MAX_VALUE);
View Full Code Here

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

    bindings.add(new SortField("popularity", SortField.Type.LONG));
    ValueSource vs = expr.getValueSource(bindings);
   
    assertEquals(1, reader.leaves().size());
    AtomicReaderContext leaf = reader.leaves().get(0);
    FunctionValues values = vs.getValues(new HashMap<String,Object>(), leaf);
   
    assertEquals(10, values.doubleVal(0), 0);
    assertEquals(10, values.floatVal(0), 0);
    assertEquals(10, values.longVal(0));
    assertEquals(10, values.intVal(0));
    assertEquals(10, values.shortVal(0));
    assertEquals(10, values.byteVal(0));
    assertEquals("10.0", values.strVal(0));
    assertEquals(new Double(10), values.objectVal(0));
   
    assertEquals(40, values.doubleVal(1), 0);
    assertEquals(40, values.floatVal(1), 0);
    assertEquals(40, values.longVal(1));
    assertEquals(40, values.intVal(1));
    assertEquals(40, values.shortVal(1));
    assertEquals(40, values.byteVal(1));
    assertEquals("40.0", values.strVal(1));
    assertEquals(new Double(40), values.objectVal(1));
   
    assertEquals(4, values.doubleVal(2), 0);
    assertEquals(4, values.floatVal(2), 0);
    assertEquals(4, values.longVal(2));
    assertEquals(4, values.intVal(2));
    assertEquals(4, values.shortVal(2));
    assertEquals(4, values.byteVal(2));
    assertEquals("4.0", values.strVal(2));
    assertEquals(new Double(4), values.objectVal(2));   
  }
View Full Code Here

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

    bindings.add(new SortField("popularity", SortField.Type.LONG));
    ValueSource vs = expr.getValueSource(bindings);
   
    assertEquals(1, reader.leaves().size());
    AtomicReaderContext leaf = reader.leaves().get(0);
    FunctionValues values = vs.getValues(new HashMap<String,Object>(), leaf);
   
    // everything
    ValueSourceScorer scorer = values.getRangeScorer(leaf.reader(), "4", "40", true, true);
    assertEquals(-1, scorer.docID());
    assertEquals(0, scorer.nextDoc());
    assertEquals(1, scorer.nextDoc());
    assertEquals(2, scorer.nextDoc());
    assertEquals(DocIdSetIterator.NO_MORE_DOCS, scorer.nextDoc());

    // just the first doc
    scorer = values.getRangeScorer(leaf.reader(), "4", "40", false, false);
    assertEquals(-1, scorer.docID());
    assertEquals(0, scorer.nextDoc());
    assertEquals(DocIdSetIterator.NO_MORE_DOCS, scorer.nextDoc());
  }
View Full Code Here

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

    }
    FunctionValues[] externalValues = new FunctionValues[expression.variables.length];

    for (int i = 0; i < variables.length; ++i) {
      String externalName = expression.variables[i];
      FunctionValues values = valuesCache.get(externalName);
      if (values == null) {
        values = variables[i].getValues(context, readerContext);
        if (values == null) {
          throw new RuntimeException("Internal error. External (" + externalName + ") does not exist.");
        }
View Full Code Here

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

   * If this method fails to compile, you also have to change the byte code generator to correctly
   * use the FunctionValues class.
   */
  @SuppressWarnings({"unused", "null"})
  private static void unusedTestCompile() {
    FunctionValues f = null;
    double ret = f.doubleVal(2);
  }
View Full Code Here

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

  }

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

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

  }

  @Override
  public void setNextReader(AtomicReaderContext readerContext) throws IOException {
    super.setNextReader(readerContext);
    FunctionValues values = groupByVS.getValues(vsContext, readerContext);
    filler = values.getValueFiller();
    mval = filler.getValue();
  }
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.