[
https://issues.apache.org/jira/browse/SOLR-18416?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chris M. Hostetter updated SOLR-18416:
--------------------------------------
Attachment: SOLR-18416.patch
Status: Open (was: Open)
Attaching my patch that (when applied to the {{jira/SOLR-18395}} branch) fixes
the {{VectorySimiliarityQParser}} related test failures.
this mainly just copies over some {{*VectorSimilarity*java}} classes from
10.4.0, along with their tests, but it was also necessary to duplicate
{{ConjunctionDISI}} since it had package protected methods used by the code we
need
> Deal with VectorSimilarityQuery backcompat break in Lucene 10.5
> ---------------------------------------------------------------
>
> Key: SOLR-18416
> URL: https://issues.apache.org/jira/browse/SOLR-18416
> Project: Solr
> Issue Type: Sub-task
> Reporter: Chris M. Hostetter
> Priority: Major
> Attachments: SOLR-18416.patch
>
>
> Lucene 10.5.0 causes many Solr test failures involving the
> {{VectorSimilarityQParser}}
>
> These failures trace back to some backwards incompatible changes introduced
> in Lucene 10.5.0 by
> [lucene#15784|https://github.com/apache/lucene/pull/15784], that completely
> changed the meaning of some {{(Float|Byte)VectorSimilarityQuery}} constructor
> arguments. As things stand right now (on the SOLR-18395 branch), the
> {{minTraverse}} and {{minReturn}} params provided by Solr users when using
> the {{VectorSimilarityQParser}} provided radically incorrect results compared
> to how they are intended.
>
> As much as I hate to say it: I think the best we can do in Solr, to avoid
> propagating this backcompat break to Solr users, is to fork a bunch of
> Lucene's VectorSimilarity related Query classes as of 10.4.0.
>
> I've got a bare bones proof of concept patch that demonstrates the basics –
> and gets the tests passing again.
>
> To fully "move forward" I think we should start with this patch and then:
> # Document that the {{minTraverse}} param of {{VectorSimilarityQParser}} is
> deprecated.
> # When {{minTraverse}} is specified, {{VectorSimilarityQParser}} should
> return instances of the "forked" Query classes.
> # Add a new {{decay}} param to {{{}VectorSimilarityQParser{}}}, that is
> mutually exclusive with using the {{minTraverse}} param.
> # When {{decay}} is specified, {{VectorSimilarityQParser}} should return
> instances of the "official" Lucene Query classes
> # If neither {{minTraverse}} nor {{decay}} is explicitly specified by the
> user, then let the {{luceneMatchVersion}} drive the choice of whether the
> "forked" classes should be used with the existing
> {{{}DEFAULT_MIN_TRAVERSE{}}}, or if the new "official" Lucene Query classes
> should be used with some new {{DEFAULT_DECAY}} value.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]