List of usage examples for org.apache.lucene.queries.function FunctionQuery getValueSource
public ValueSource getValueSource()
From source file:org.vootoo.search.CollectorFilterQParser.java
License:Apache License
@Override public Query parse() throws SyntaxError { if (localParams == null) { throw new SolrException(ErrorCode.BAD_REQUEST, CollectorFilterQParserPlugin.NAME + " QParser miss localParams"); }/* www. j a v a 2 s .com*/ String name = localParams.get(CF_NAME); CollectorFilterablePlugin cfPlugin = getCollectorFilterablePlugin(name); if (cfPlugin == null) { throw new SolrException(ErrorCode.BAD_REQUEST, CollectorFilterQParserPlugin.NAME + " QParser not found '" + name + "' CollectorFilterablePlugin"); } // parse func for vs FunctionQuery funQ = (FunctionQuery) super.parse(); ValueSource vs = funQ.getValueSource(); // try parse value String valueStr = null; int valueIndex = qstr.indexOf(":"); if (valueIndex > 0 && valueIndex < qstr.length() - 1) { valueStr = qstr.substring(valueIndex + 1); } // create cf CollectorFilterable cf = cfPlugin.createCollectorFilterable(name, localParams, localParams, req, vs, valueStr); if (localParams.getBool(CF_NOT, false)) { // negative cf cf = new WrappedNotCollectorFilterable(cf); } return new CollectorFilterQuery(new ValueSourceCollectorFilter(vs, cf)); }