[ https://issues.apache.org/jira/browse/SOLR-786?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Wojciech Biela updated SOLR-786: -------------------------------- Attachment: dismax-query-parser.patch the patch > refactor in DisMaxQParserPlugin and DismaxQParser to allow extending > DismaxQParser > ---------------------------------------------------------------------------------- > > Key: SOLR-786 > URL: https://issues.apache.org/jira/browse/SOLR-786 > Project: Solr > Issue Type: Improvement > Components: clients - java > Affects Versions: 1.3, 1.3.1, 1.4 > Reporter: Wojciech Biela > Fix For: 1.3.1 > > Attachments: dismax-query-parser.patch > > > I needed to change some of the default behaviour of the DismaxQParser, so as > opposed to infecting the solr codebase with our custom behaviour, I wanted to > be able to subclass the DismaxQParser and change only what we wanted to > change. > Here I submit a patch that allows for such subclassing. The change that is > done to the code base in the following steps: > 1. refactor in the DismaxQParser.parse() method to > addMainQuery(query, solrParams); > addBoostQuery(query, solrParams); > addBoostFunctions(query, solrParams); > 2. refactor the addMainQuery() method to use > getUserQuery(userQuery, up, solrParams) > getAlternateUserQuery(solrParams) > getPhraseQuery(userQuery, pp) > 3. move the DismaxQParser to the top-level to make it public (and allow > subclassing) > After applying this change I can to as follows: > 1. write my own QParserPlugin to return a subclass of the DismaxQParser > 2. in this subclass I override the the methods I need, in my case the > getUserQuery() method. > 3. add this plugin to the solrconfig.xml and use it > the patch is done against the Solr svn trunk -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.