[ 
https://issues.apache.org/jira/browse/LUCENE-9568?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17211079#comment-17211079
 ] 

Michael McCandless commented on LUCENE-9568:
--------------------------------------------

Here's the user list discussion leading to this issue: 
[https://markmail.org/thread/2gomdeis3xs7gs5t]

... where [~msoko...@gmail.com] suggested:
{noformat}
I traced this to this block in FuzzyTermsEnum:

    if (ed == 0) { // exact match
      boostAtt.setBoost(1.0F);
    } else {
      final int codePointCount = UnicodeUtil.codePointCount(term);
      int minTermLength = Math.min(codePointCount, termLength);

      float similarity = 1.0f - (float) ed / (float) minTermLength;
      boostAtt.setBoost(similarity);
    }

where in your test ed (edit distance) was 2 and minTermLength 1,
leading to negative boost.

I don't really understand this code at all, but I wonder if it should
divide by maxTermLength instead of minTermLength? {noformat}
I think his proposal makes sense?  That would make {{similarity}} 0 for this 
case, which seems right, since the term is length 1, the candidate is edit 
distance 2 away, and is surely very irrelevant!

> FuzzyTermEnums sets negative boost for fuzzy search & highlight
> ---------------------------------------------------------------
>
>                 Key: LUCENE-9568
>                 URL: https://issues.apache.org/jira/browse/LUCENE-9568
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: modules/highlighter
>    Affects Versions: 8.5.1
>            Reporter: Juraj Jurčo
>            Priority: Minor
>              Labels: highlighting, newbie
>         Attachments: FindSqlHighlightTest.java
>
>
> *Description*
>  When user indexes a word with an apostrophe and constructs a fuzzy query for 
> highlighter, it throws an exception with set negative boost for a query. 
> *Repro Steps*
>  # Index a text with apostrophe. E.g. doesn't
>  # Parse a fuzzy query e.g.: se~, se~2, se~3
>  # Try to highlight a text with apostrophe
>  # The exception is thrown (for details see attached test test with repro 
> steps)
> *Actual Result*
>  {{java.lang.IllegalArgumentException: boost must be a positive float, got 
> -1.0}}
> *Expected Result*
>  * No exception.
>  * Highlighting marks are inserted into a text.
> *Workaround*
>  - not known.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to