You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Uwe Schindler (JIRA)" <ji...@apache.org> on 2016/02/28 17:12:18 UTC

[jira] [Updated] (LUCENE-7053) Remove deprecated BytesRef#getUTF8SortedAsUTF16Comparator(); remove natural comparator in favour of Java 8 one

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

Uwe Schindler updated LUCENE-7053:
----------------------------------
    Description: 
Followup from LUCENE-7052: This removes the legacy, deprecated getUTF8SortedAsUTF16Comparator() in the BytesRef class. I know originally we added the different comparators to be able to allow the index term dict to be sorted in different order. This never proved to be useful, as many Lucene queries rely on the default order. The only codec that used another byte order internally was the Lucene 3 one (but it used the unicode spaghetti algorithm to reorder its term enums at runtime).

This patch also removes the BytesRef-Comparator completely and just implements compareTo. So all code can rely on natural ordering.

This patch also cleans up other usages of natural order comparators, e.g. in ArrayUtil, because Java 8 natively provides a comparator.

  was:
Followup from LUCENE-7052: This removes the legacy, deprecated getUTF8SortedAsUTF16Comparator() in the BytesRef class. The only left over user was TSTLookup. Moves the code there as private impl detail.

This also converts the comparators to lambdas for better readability.

        Summary: Remove deprecated BytesRef#getUTF8SortedAsUTF16Comparator(); remove natural comparator in favour of Java 8 one  (was: Remove deprecated BytesRef#getUTF8SortedAsUTF16Comparator())

> Remove deprecated BytesRef#getUTF8SortedAsUTF16Comparator(); remove natural comparator in favour of Java 8 one
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: LUCENE-7053
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7053
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: core/other
>            Reporter: Uwe Schindler
>            Assignee: Uwe Schindler
>             Fix For: master, 6.0
>
>         Attachments: LUCENE-7053.patch, LUCENE-7053.patch, LUCENE-7053.patch, LUCENE-7053.patch
>
>
> Followup from LUCENE-7052: This removes the legacy, deprecated getUTF8SortedAsUTF16Comparator() in the BytesRef class. I know originally we added the different comparators to be able to allow the index term dict to be sorted in different order. This never proved to be useful, as many Lucene queries rely on the default order. The only codec that used another byte order internally was the Lucene 3 one (but it used the unicode spaghetti algorithm to reorder its term enums at runtime).
> This patch also removes the BytesRef-Comparator completely and just implements compareTo. So all code can rely on natural ordering.
> This patch also cleans up other usages of natural order comparators, e.g. in ArrayUtil, because Java 8 natively provides a comparator.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org