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



Reply via email to