: So I wrote my own code that filters the top level queries and expands : them, using a similar instruction as dismax within a particular query : component. : : Question 1: doesn't such a code already exist? : (I haven't found it)
the DisjunctionMaxQueryParser class has support for configuring field aliase -- in the DisMaxQParser it only uses it with setting up aliaes for a (fake) default field, but if you use it directly in code you can set up specific aliases for specific field names (there's plans to do this for the edismax handler but some other weird behavior bugs are holding it up) : Question 2: should I rather make a QParserPlugin? : (the javadoc is not very helpful) implementing QParserPlugin is how you register a plugin that solr knows to use to parse query strings when the user asks for a parser by name (either using the defType param, or with the local param syntax). within your QParserPlugin you can implement the actaul parsing anyway you like. The LuceneQParserPlugin serves as a really simple example of how to implement a QParserPlugin if you've already got a QueryParser subclass that you want to use -- it's really just about managing the request parameters. -Hoss