[
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]