lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler (JIRA)" <j...@apache.org>
Subject [jira] [Assigned] (LUCENE-3192) SortField.INT / SortField.FLOAT inconsistency with DocValues
Date Sat, 11 Jun 2011 12:02:58 GMT

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

Uwe Schindler reassigned LUCENE-3192:
-------------------------------------

    Assignee: Simon Willnauer

> SortField.INT / SortField.FLOAT inconsistency with DocValues
> ------------------------------------------------------------
>
>                 Key: LUCENE-3192
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3192
>             Project: Lucene - Java
>          Issue Type: Wish
>            Reporter: Uwe Schindler
>            Assignee: Simon Willnauer
>
> When reviewing sorting by DocValues I found the following naming inconsistency, which
shoulc be fixed.
> # DocValues are always Longs or Doubles, but it uses SortField.INT and SortField.FLOAT
> # If you enable docValues in SortField but not use not SortField.INT / SortField.FLOAT,
it will use FieldCache without informing the user e.g. by Exception
> \\I would wish to fix this in any of the following ways:
> - as a comment TODO notes, create new types for docvalues and remove UseDocValues setter:
SortField.INT_DOCVALUES, Sort.FLOAT_DOCVALUES (using the naming INT/FLOAT from the general
DOCVALUES API). Ideally there should be also Sort.BYTESREF_DOCVALUES ? This would be more
consistent, as getCompataor would be only a big switch as it was before.
> - use more "correct" SortField.LONG and SortField.DOUBLE and throw Exception if doc values
is enabled, but a totally different SortField type is used. The Exception can be thrown in
SortField.getComparator(). A second problem with SortField.INT instead of LONG is that when
you request sort values to be filled into FieldDocs, the type there is suddenly Long, that
may be totally confusing.
> - make SortField.LONG==SortField.INT(maybe also ==BYTE==SHORT) use also docvalues if
enabled by using the same comparator. If DocValues incompatible type is used, throw Ex in
getComparator()
> I would prefer solution #1, especially as I dont like SortField to be modifiable (useDocValues
setter...). Solution #2 is also fine.

--
This message is automatically generated by JIRA.
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


Mime
View raw message