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

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

Patch:

* adds tests that normalization decode is well behaved: only finite 
non-negative values, with increasing boost / decreasing length.
* fixes normalization decode for BM25Similarity and SimilarityBase to adhere to 
this, by setting len[0] = 1 / len[255] (5.6493154E19) instead of going to 
infinity.
* adds a delta to DFR model P to avoid going infinite when normalized tf 
approaches zero.
* adds/elaborates on warnings for the other 3 models and adds TODOs: maybe 
there is a similar simple fix for those.


> Fix/document various Similarity bugs around extreme norm values
> ---------------------------------------------------------------
>
>                 Key: LUCENE-6896
>                 URL: https://issues.apache.org/jira/browse/LUCENE-6896
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Robert Muir
>             Fix For: 6.0, 5.4
>
>         Attachments: LUCENE-6896.patch
>
>
> Spinoff from LUCENE-6818:
> [~iorixxx] found problems with every Similarity (except ClassicSimilarity) 
> when trying to test how they behave on every possible norm value, to ensure 
> they are robust for all index-time boosts.
> There are several problems:
> 1. buggy normalization decode that causes the smallest possible norm value 
> (0) to be treated as an infinitely long document. These values are intended 
> to be encoded as non-negative finite values, but going to infinity breaks 
> everything.
> 2. various problems in the less practical functions that already have 
> documented warnings that they do bad things for extreme values. These impact 
> DFR models D, Be, and P and IB distribution SPL.



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

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

Reply via email to