List of usage examples for org.apache.solr.search.function ValueSourceRangeFilter ValueSourceRangeFilter
public ValueSourceRangeFilter(ValueSource valueSource, String lowerVal, String upperVal, boolean includeLower, boolean includeUpper)
From source file:com.indoqa.solr.spatial.corridor.query.route.RouteQueryParser.java
License:Apache License
@Override public Query parse() throws SyntaxError { ValueSource locationValueSource = this.parseLocationValueSource(); LineString lineString = this.parseLineString(); String buffer = this.parseBuffer(); RouteDistanceValueSource corridorDistanceValueSource = new RouteDistanceValueSource(lineString, locationValueSource);//w w w . j a v a 2 s.c om ValueSourceRangeFilter filter = new ValueSourceRangeFilter(corridorDistanceValueSource, "0", buffer, true, true); return new FunctionRangeQuery(filter); }
From source file:org.vootoo.search.CollectorFilterablePlugin.java
License:Apache License
/** * @param rangeValue// www . j a v a2s.c o m * [|(v1 TO v2)|] * * @throws SyntaxError if format error */ public static ValueSourceRangeFilter parseRange(ValueSource vs, String rangeValue) throws SyntaxError { boolean includeLower = true; boolean includeUpper = true; if (rangeValue == null) { throw new SyntaxError("range query format error, rangeValue is null"); } rangeValue = rangeValue.trim(); // "[ TO ]".length if (rangeValue.length() < 6) { throw new SyntaxError("range query format error, rangeValue=" + rangeValue); } char ch = rangeValue.charAt(0); if (ch == '(') { includeLower = false; } else { if (ch != '[') { throw new SyntaxError("range query lower char must be '(' or '[', rangeValue=" + rangeValue); } } ch = rangeValue.charAt(rangeValue.length() - 1); if (ch == ')') { includeUpper = false; } else { if (ch != ']') { throw new SyntaxError("range query upper char must be ')' or ']', rangeValue=" + rangeValue); } } String l = null; String u = null; String[] values = rangeValue.substring(1, rangeValue.length() - 1).split("\\ TO\\ "); if (values == null || values.length < 2) { throw new SyntaxError("range query format error, rangeValue=" + rangeValue); } values[0] = values[0].trim(); values[1] = values[1].trim(); if (values[0].length() > 0 && !values[0].equals("*")) { l = values[0]; } if (values[1].length() > 0 && !values[1].equals("*")) { u = values[1]; } return new ValueSourceRangeFilter(vs, l, u, includeLower, includeUpper); }
From source file:org.vootoo.search.function.filter.RangeCollectorFilterablePlugin.java
License:Apache License
@Override public CollectorFilterable createCollectorFilterable(String qstr, SolrParams localParams, SolrParams params, SolrQueryRequest req, ValueSource valueSource, String valueStr) throws SyntaxError { ValueSourceRangeFilter rf = null;//from w w w .ja va 2 s . co m if (valueStr == null) { String l = localParams.get("l"); String u = localParams.get("u"); boolean includeLower = localParams.getBool("incl", true); boolean includeUpper = localParams.getBool("incu", true); rf = new ValueSourceRangeFilter(valueSource, l, u, includeLower, includeUpper); } else { verifyValueStr(valueStr, valueSource); rf = parseRange(valueSource, valueStr); } return new RangeCollectorFilterable(rf); }