Thank you! It seems to me that I managed to get it work. Just for future reference short I attach source code. The jar should be placed under core/lib folder: Please let me know if you have any comments or if I got sth incorrect...
public class PrecedenceQParserPlugin extends QParserPlugin { private static final Logger LOG = LoggerFactory.getLogger(PrecedenceQParserPlugin.class); @Override public void init(NamedList list) { } @Override public QParser createParser(String qstr, SolrParams localParams, SolrParams params, SolrQueryRequest req) { LOG.debug("creating new PrecedenceQParser:", new Object[] {qstr, localParams, params, req}); return new PrecedenceQParser(qstr, localParams, params, req); } } class PrecedenceQParser extends QParser { private static final Logger LOG = LoggerFactory.getLogger(PrecedenceQParser.class); private final PrecedenceQueryParser parser; public PrecedenceQParser(String qstr, SolrParams localParams, SolrParams params, SolrQueryRequest req) { super(qstr, localParams, params, req); this.parser = new PrecedenceQueryParser(); } @Override public Query parse() throws ParseException { LOG.debug("parse(): ", qstr); if (null==qstr) { return null; } final String defaultField = QueryParsing.getDefaultField(getReq().getSchema(),getParam(CommonParams.DF)); try { return parser.parse(qstr, defaultField); } catch (QueryNodeException e) { throw new ParseException(e.getMessage(), e); } } } Best Regards Maciej Pestka Dnia 10-09-2012 o godz. 17:46 Ahmet Arslan napisał(a): > > In order for Solr to use this parser, > > you'll need to wrap it with a QParser and QParserPlugin > > implementations, then wire your implementation into > > solrconfig.xml. > > SurroundQParserPlugin.java (api-4_0_0-BETA) can be an example of such > implementation. > > http://lucene.apache.org/solr/api-4_0_0-BETA/org/apache/solr/search/SurroundQParserPlugin.html