/** * */ package querqy.solr; import java.io.IOException; import org.apache.lucene.analysis.util.ResourceLoader; import org.apache.solr.common.SolrException; import org.apache.solr.common.params.SolrParams; import org.apache.solr.common.util.NamedList; import org.apache.solr.request.SolrQueryRequest; import querqy.parser.QuerqyParser; import querqy.parser.QuerqyParserFactory; /** * A factory for a {@link QuerqyParser}. Unlike the Solr-independent {@link QuerqyParserFactory} the arguments of the * {@link #init(NamedList, ResourceLoader)} and {@link #createParser(String, SolrParams, SolrParams, SolrQueryRequest)} * methods are part of the Solr object model. * * @author René Kriegler, @renekrie * */ public interface SolrQuerqyParserFactory { /** * Initialize this factory with configuration parameters. * * @param parserConfig * @param loader * @throws IOException * @throws SolrException */ void init(@SuppressWarnings("rawtypes") NamedList parserConfig, ResourceLoader loader) throws IOException, SolrException; /** * * Create a {@link QuerqyParser} for the given request context. * * @param qstr * @param localParams * @param params * @param req * @return */ QuerqyParser createParser(String qstr, SolrParams localParams, SolrParams params, SolrQueryRequest req); }