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

Robert Muir updated LUCENE-7968:
--------------------------------
    Attachment: LUCENE-7968.patch

Patch, including a test that fails even without the assert. It just adds 50 
surface forms with the same weight that all analyze to the same string, and 
asserts that lookup() returns them back in sorted order by surface form.

When payloads=false, the BytesRef's length should be the {{remaining}} bytes, 
not negative.

> AnalyzingSuggester's comparator compares incorrectly
> ----------------------------------------------------
>
>                 Key: LUCENE-7968
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7968
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Robert Muir
>         Attachments: LUCENE-7968.patch
>
>
> Found by LUCENE-7966, but we should fix here separate.
> Currently the tie-break case of this comparator is buggy when 
> {{hasPayloads=false}}, as it assigns *negative* lengths to the BytesRefs 
> being compared. The current BytesRef.compareTo simply silently returns false 
> in this case, hiding the bug.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to