[ 
https://issues.apache.org/jira/browse/SOLR-435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13237366#comment-13237366
 ] 

Hoss Man commented on SOLR-435:
-------------------------------

bq. if no query string is supplied, or if its blank or just whitespace, then 
the default is to match all documents. 

-0 ... the risk with this approach is that (new) users who make typos in 
queries or are missinformed about the name "q" param (ie: {{/search?Q=foo}} or 
{{/search?query=foo}}) will be really confused when they query they specify is 
completely ignored w/o explanation and all docs are returned in it's place.  I 
think it's much better to throw a clear error "q param is not specified" but i 
certainly see the value in adding q.alt support to the LuceneQParser with the 
same semantics as dismax (used if q is missing or all whitespace) .. not sure 
why we've never considered that before.  (obviosly it wouldn't make sense for 
all QParsers, like "field" or "term" since all whitespace and or empty strings 
are totally valid input for them)

bq. I could have modified QueryComponent, or just QParser, or just the actual 
QParser subclasses. A universal choice couldn't be made for all qparsers...

we definitely shouldn't modify QueryComponent ... the entire point of the issue 
is that QueryComponent can't attempt to validate the q param, because it 
doesn't know if/when the defType QParser requires it to exist -- the individual 
QParsers all need to throw clear errors if they require it and it's not 
specified, that's really the whole reason this issue was opened in the first 
place
                
> QParser must validate existance/absense of "q" parameter
> --------------------------------------------------------
>
>                 Key: SOLR-435
>                 URL: https://issues.apache.org/jira/browse/SOLR-435
>             Project: Solr
>          Issue Type: Bug
>          Components: search
>    Affects Versions: 1.3
>            Reporter: Ryan McKinley
>            Assignee: Ryan McKinley
>             Fix For: 3.6, 4.0
>
>         Attachments: SOLR-435_q_defaults_to_all-docs.patch
>
>
> Each QParser should check if "q" exists or not.  For some it will be required 
> others not.
> currently it throws a null pointer:
> {code}
> java.lang.NullPointerException
>       at org.apache.solr.common.util.StrUtils.splitSmart(StrUtils.java:36)
>       at 
> org.apache.solr.search.OldLuceneQParser.parse(LuceneQParserPlugin.java:104)
>       at org.apache.solr.search.QParser.getQuery(QParser.java:80)
>       at 
> org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:67)
>       at 
> org.apache.solr.handler.SearchHandler.handleRequestBody(SearchHandler.java:150)
>         ...
> {code}
> see:
> http://www.nabble.com/query-parsing-error-to14124285.html#a14140108

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to