lucene-solr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shalin Shekhar Mangar (JIRA)" <j...@apache.org>
Subject [jira] Updated: (SOLR-786) refactor in DisMaxQParserPlugin and DismaxQParser to allow extending DismaxQParser
Date Thu, 28 May 2009 08:02:45 GMT

     [ https://issues.apache.org/jira/browse/SOLR-786?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Shalin Shekhar Mangar updated SOLR-786:
---------------------------------------

    Component/s:     (was: clients - java)
                 search

> 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: search
>    Affects Versions: 1.3
>            Reporter: Wojciech Biela
>            Assignee: Shalin Shekhar Mangar
>            Priority: Minor
>             Fix For: 1.4
>
>         Attachments: dismax-query-parser.patch, SOLR-786.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.


Mime
View raw message