lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Erik Hatcher <erik.hatc...@gmail.com>
Subject Re: DefaultSolrParams ?
Date Sun, 02 Dec 2012 15:24:10 GMT
Bernd -

There never has been, nor is there now, a method that looks for q and falls back to q.alt.
 The logic for that is purely in DisMaxQParser.java:

    if (userQuery == null || userQuery.trim().length() < 1) {
      // If no query is specified, we may have an alternate
      altUserQuery = getAlternateUserQuery(solrParams);
      if (altUserQuery == null)
        return false;
      query.add(altUserQuery, BooleanClause.Occur.MUST);
    }

I'm not sure what you're experiencing different from 3.6 to 4.0.  

Tell us the details of your custom plugin if you'd like help in digging deeper into what's
going on.

	Erik


On Dec 2, 2012, at 08:15 , Bernd Fehling wrote:

> Hi Hoss,
> my config has definately not changed and it worked with 3.6 and 3.6.1.
> Yes I have a custom plugin and if q was empty with 3.6 it picked automatically q.alt
from solrconfig.xml.
> This all was done with params.get()
> With 4.x this is gone due to some changes in DefaultSolrParams(?).
> Which is now the method to get q from params and have an automatic fallback to q.alt?
> 
> Bernd
> 
>> 
>> : I use it like this:
>> : SolrParams params = req.getParams();
>> : String q = params.get(CommonParams.Q).trim();
>> : 
>> : The exception is from the second line if "q" is empty.
>> : I can see "q.alt=*:*" in my defaults within params.
>> : 
>> : So why is it not picking up "q.alt" if "q" is empty?
>> 
>> Youre talking about some sort of custom solr plugin that you 
>> have correct?
>> 
>> when you are accessing a SolrParams object, there is nothing 
>> magic about 
>> "q" and "q.alt" -- params.get() will only return the value 
>> specified for 
>> the param name you ask about.  The logic for using "q.alt" 
>> (aka: 
>> "DisMaxParams.ALTQ") if "q" doesn't exist in the params (or is 
>> blank) has 
>> always been a specific feature of the DisMaxQParser.
>> 
>> So if you are suddenly getting an NPE when q is missing, perhaps 
>> the 
>> problem is that in your old configs there was a default "q" 
>> containing hte 
>> empty string, and now that's gone?
>> 
>> 
>> -Hoss


Mime
View raw message