/** * Parse an individual ValueSource. * * @throws ParseException */ public ValueSource parseValueSource() throws ParseException { /* consume the delimiter afterward for an external call to parseValueSource */ return parseValueSource(true); }
public ValueSource parse(FunctionQParser fp) throws ParseException { ValueSource source = fp.parseValueSource(); return new SimpleFloatFunction(source) { protected String name() { return "sqrt"; } protected float func(int doc, DocValues vals) { return (float)Math.sqrt(vals.floatVal(doc)); } }; } public void init(NamedList args) {
public ValueSource parse(FunctionQParser fp) throws ParseException { ValueSource source = fp.parseValueSource(); return new SimpleFloatFunction(source) { protected String name() { return "log"; } protected float func(int doc, DocValues vals) { return (float)Math.log10(vals.floatVal(doc)); } }; }
public ValueSource parse(FunctionQParser fp) throws ParseException { ValueSource source = fp.parseValueSource(); return new SimpleFloatFunction(source) { protected String name() { return "abs"; } protected float func(int doc, DocValues vals) { return (float)Math.abs(vals.floatVal(doc)); } }; }
public ValueSource parse(FunctionQParser fp) throws ParseException { ValueSource a = fp.parseValueSource(); ValueSource b = fp.parseValueSource(); return new DualFloatFunction(a,b) { protected String name() { return "sub"; } protected float func(int doc, DocValues aVals, DocValues bVals) { return aVals.floatVal(doc) - bVals.floatVal(doc); } }; }
public ValueSource parse(FunctionQParser fp) throws ParseException { ValueSource a = fp.parseValueSource(); ValueSource b = fp.parseValueSource(); return new DivFloatFunction(a,b); }
public ValueSource parse(FunctionQParser fp) throws ParseException { ValueSource a = fp.parseValueSource(); ValueSource b = fp.parseValueSource(); return new PowFloatFunction(a,b); }
public ValueSource parse(FunctionQParser fp) throws ParseException { ValueSource source = fp.parseValueSource(); // nested top is redundant, and ord and rord get automatically wrapped if (source instanceof TopValueSource) return source; return new TopValueSource(source); } public void init(NamedList args) {
/** * Parse a list of ValueSource. Must be the final set of arguments * to a ValueSource. * * @return List<ValueSource> * @throws ParseException */ public List<ValueSource> parseValueSourceList() throws ParseException { List<ValueSource> sources = new ArrayList<ValueSource>(3); for (;;) { sources.add(parseValueSource(false)); if (! consumeArgumentDelimiter()) break; } return sources; }
public ValueSource parse(FunctionQParser fqp) throws SyntaxError{ ValueSource value1 = fqp.parseValueSource(); ValueSource value2 = fqp.parseValueSource(); String delimiter = null; if (fqp.hasMoreArguments()){ delimiter = fqp.parseArg(); } return new ConcatenateFunction(value1, value2, delimiter); } }
public ValueSource parse(FunctionQParser fp) throws ParseException { ValueSource source = fp.parseValueSource(); float val = fp.parseFloat(); return new MaxFloatFunction(source,val); }
public ValueSource parse(FunctionQParser fp) throws ParseException { Query q = fp.parseNestedQuery(); ValueSource vs = fp.parseValueSource(); BoostedQuery bq = new BoostedQuery(q, vs); return new QueryValueSource(bq, 0.0f); }
public ValueSource parse(FunctionQParser fp) throws ParseException { ValueSource source = fp.parseValueSource(); float slope = fp.parseFloat(); float intercept = fp.parseFloat(); return new LinearFloatFunction(source,slope,intercept); }
public Query parse() throws ParseException { sp = new QueryParsing.StrParser(getString()); ValueSource vs = parseValueSource(); /*** boost promoted to top-level query type to avoid this hack // HACK - if this is a boosted query wrapped in a value-source, return // that boosted query instead of a FunctionQuery if (vs instanceof QueryValueSource) { Query q = ((QueryValueSource)vs).getQuery(); if (q instanceof BoostedQuery) return q; } ***/ return new FunctionQuery(vs); }
public ValueSource parse(FunctionQParser fp) throws ParseException { ValueSource source = fp.parseValueSource(); float m = fp.parseFloat(); float a = fp.parseFloat(); float b = fp.parseFloat(); return new ReciprocalFloatFunction(source,m,a,b); }
public ValueSource parse(FunctionQParser fp) throws ParseException { ValueSource source = fp.parseValueSource(); float min = fp.parseFloat(); float max = fp.parseFloat(); return new TopValueSource(new ScaleFloatFunction(source,min,max)); }
public ValueSource parse(FunctionQParser fp) throws ParseException { ValueSource source = fp.parseValueSource(); float min = fp.parseFloat(); float max = fp.parseFloat(); float target = fp.parseFloat(); Float def = fp.hasMoreArguments() ? fp.parseFloat() : null; return new RangeMapFloatFunction(source,min,max,target,def); }