[
https://issues.apache.org/jira/browse/LUCENE-3192?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13047892#comment-13047892
]
Uwe Schindler commented on LUCENE-3192:
---------------------------------------
One more bug: useIndexValues is not used by SortField.equals()/hashCode(). If
we go for #1, we can ignore that one. For solutions #2 and #3 it needs to be
fixed, too.
> 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: [email protected]
For additional commands, e-mail: [email protected]