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

David Ryan commented on LUCENE-9319:
------------------------------------

Initial investigation found that DocValuesTermsQuery is referenced directly by 
solr core.  FuzzyLikeThisQuery is referenced directly by the query parser 
package. No other classes are referenced directly outside of the sandbox 
package.

A number of classes rely on package scoped classes which is one of the reasons 
they are using the same packages names as core. These include LatLonBoundingBox 
in document. Also, BM25FQuery, CoveringQuery, CoveringScorer, 
LargeNumHitsTopDocsCollector, MultiNormsLeafSimScorer and PhraseWildcardQuery.

Even with my limited knowledge of the code base, it makes complete sense to me 
to move things out of sandbox. Things in something called 'sandbox' should not 
be depended upon, so:
 * FuzzyLikeThisQuery can be moved to queries as it is used by queryparser. The 
queryparser can then remove the dependency on sandbox.
 * DocValuesTermsQuery should be moved to core as it is used by solr core.
 * The other items which require package protected classes should be moved to 
core. If there's low confidence in them they should be tagged as being 
experimental.
 * Things which can stay in sandbox and don't need to have the same package can 
stay there.

I've prepared some of the above changes on a local branch, but still needs more 
work before a pull request can be prepared.

> Clean up Sandbox project by retiring/delete functionality or move it to 
> Lucene core
> -----------------------------------------------------------------------------------
>
>                 Key: LUCENE-9319
>                 URL: https://issues.apache.org/jira/browse/LUCENE-9319
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: core/other
>    Affects Versions: master (9.0)
>            Reporter: David Ryan
>            Priority: Major
>              Labels: build, features
>
> To allow Lucene to be modularised with Java module system there are a few 
> preparatory tasks to be completed prior to this being possible. These are 
> detailed by Uwe on the mailing list here:
> [http://mail-archives.apache.org/mod_mbox/lucene-dev/202004.mbox/%3c0a5e01d60ff2$563f9c80$02bed580$@thetaphi.de%3e]
>  
> The lucene-sandbox currently shares package names with lucene-core which is 
> not allowed in the Java module system.  There are two ways to deal with this. 
> Either prefix all packages with "sandbox" or retire the lucene-sandbox all 
> together. As per the email:
> {quote}Cleanup sandbox to prefix all classes there with “sandbox” package and 
> where needed remove package-private access. If it’s needed for internal 
> access, WTF: Just move the stuff to core! We have a new version 9.0, so 
> either retire/delete Sandbox stuff or make it part of Lucene core.
> {quote}
>  The suggested way forward is to move sandbox code to core.
>  



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