lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From KaktuChakarabati <>
Subject Creating new QParserPlugin
Date Wed, 06 May 2009 22:41:24 GMT

Hello everyone,
I am trying to write a new QParserPlugin+QParser, one that will work similar
to how DisMax does, but will give me more control over the
FunctionQuery-related part of the query processing (e.g in regards to a
specified bf parameter).

In specific, I want to be able to affect the way the queryNorm (and possibly
other factors) interact with a 
pre-computed value I store in a static field (i.e I compute an index-time
score for a document that I wish to use in a bf as a ValueSource, without
being affected by queryNorm or other such extranous considerations.)

While trying this, I notice I run alot into cases where some parts I try to
override/inherit from are private to a java package namespace, and this
makes the whole thing very cumbersome.

Examples for this are the DismaxQParser class which is defined as a local
class inside the file (i think this is bad practice
- otherwise, FunctionQParserPlugin/FunctionQParser do have their own
seperate files, so i think this is a good convention to follow generally).
Another case is where i try to inherit from FunctionQParser and end up not
being able to replicate some of the parse() logic, because it uses the
QueryParsing.StrParser class which is a static inner class and so is only
accessible from the namespace.

In short, many such cases seem to arise and i think this poses a
considerable limitation on
the possibilities of extending solr.
If this resonates with more people here, I'd take this issue up with

Otherwise, if some of you have some notions about going about what i'm
trying to do differently,
I would be happy to hear.

View this message in context:
Sent from the Solr - User mailing list archive at

View raw message