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

Reply via email to