You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "David Smiley (Issue Comment Edited) (JIRA)" <ji...@apache.org> on 2012/03/21 22:04:39 UTC

[jira] [Issue Comment Edited] (SOLR-435) QParser must validate existance/absense of "q" parameter

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

David Smiley edited comment on SOLR-435 at 3/21/12 9:04 PM:
------------------------------------------------------------

I've always thought it was bad that Solr throws an error if 'q' is not specified, and it can be a "WTF" experience to new users unfamiliar with this.  I am aware that dismax has q.alt but that's separate.  What's wrong with assuming a match-all docs query of \*:\*?  It's better than an error, IMO.

FYI aside from seeing this from time to time in my own Solr work, the Ajax-Solr framework has a work-around to basically automatically supply q or q.alt with '\*:\*' in different circumstances, and it's quite a hack.  You can argue the user should explicitly supply \*:\* but then if they forget, they get a Solr error.
                
      was (Author: dsmiley):
    I've always thought it was bad that Solr throws an error if 'q' is not specified, and it can be a "WTF" experience to new users unfamiliar with this.  I am aware that dismax has q.alt but that's separate.  What's wrong with assuming a match-all docs query of *:*?  It's better than an error, IMO.

FYI aside from seeing this from time to time in my own Solr work, the Ajax-Solr framework has a work-around to basically automatically supply q or q.alt with '*:*' in different circumstances, and it's quite a hack.  You can argue the user should explicitly supply *:* but then if they forget, they get a Solr error.
                  
> 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
>             Fix For: 3.6, 4.0
>
>
> 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: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org