lucene-solr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hoss Man (JIRA)" <j...@apache.org>
Subject [jira] Commented: (SOLR-99) Allow default sort order
Date Wed, 10 Jan 2007 20:17:27 GMT

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

Hoss Man commented on SOLR-99:
------------------------------

specifying the number of results to return as part of the sort information is in fact some
fairly "legacy" behavior that we probably don't need to worry about supporting (i don't think
anyone has ever used it in the history of Solar/Solr ... but in general i don't think the
proper way to address this bug is to "assume" a default direction if all the user does is
specify a field name ... mainly because i don't know that we can really assume a particular
"default" ... failing with an error at query time definitely seems like the right behavior
to me ... but we should certainly return a usefull eror message instead of an ArrayIndexOutOfBoundsException.

In the same way a query which can't be parsed cleanly generates a ParseException, a sort specification
which can't be parsed cleanly should generate a ParseException (or soemthing like it)

> Allow default sort order
> ------------------------
>
>                 Key: SOLR-99
>                 URL: https://issues.apache.org/jira/browse/SOLR-99
>             Project: Solr
>          Issue Type: Improvement
>          Components: search
>    Affects Versions: 1.2
>            Reporter: Ryan McKinley
>            Priority: Minor
>             Fix For: 1.2
>
>         Attachments: DefaultSortOrder.patch, DefaultSortOrder.patch
>
>
> The current search throws an "ArrayIndexOutOfBoundsException" if you specify a sort field
but do not include an order.  This is anoying and difficult to debug (when you are starting)
> Here is a patch to avoid the exception and use the default sort order if you only specify
a field.  I'm not sure the 'null' case was even possible in the current code:
> Index: QueryParsing.java
> ===================================================================
> --- QueryParsing.java	(revision 494681)
> +++ QueryParsing.java	(working copy)
> @@ -186,13 +186,12 @@
>        }
>  
>        // get the direction of the sort
> -      str=parts[pos];
> -      if ("top".equals(str) || "desc".equals(str)) {
> -        top=true;
> -      } else if ("bottom".equals(str) || "asc".equals(str)) {
> -        top=false;
> -      }  else {
> -        return null;  // must not be a sort command
> +      // by default, top is true, only change it if it is "bottom" or "asc"
> +      if( parts.length > pos ) {
> +    	  str=parts[pos];
> +    	  if ("bottom".equals(str) || "asc".equals(str)) {
> +	         top=false;
> +	      }
>        }

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

        

Mime
View raw message