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

David Ryan commented on LUCENE-9317:
------------------------------------

Hi [~uschindler] and [~tomoko],

There's so much that would be nice to refactor regarding naming in Lucene, but 
I appreciate your reluctance even in a major version change.  I think the 
general approach offered by Uwe to move factories from common analysis to core 
is a good one.  Removing the dependency on common.analysis for basic 
implementations makes a lot of sense.  The question this brings up is what is 
the minimum set of classes from common.analysis that should be moved to core?

I ran another experiment of moving the factories (analysis.util and 
analysis.custom) to core and simply moved any other required packages and 
classes. In effect pulling a thread to see what would come with it. This is an 
unfinished set of changes (tests and service definitions have not moved, etc) 
to get further feedback before cleaning it up. The result is here:

[https://github.com/oobles/lucene-solr/commits/LUCENE9317-test4]

In making the changes I noticed LowerCaseFilter and StopFilter are both 
duplicated in lucene.analysis and lucene.analysis.core. Moving analysis.core to 
core would provide an opportunity to clean this up although I didn't change 
this yet.

I moved ConditionalTokenFilter/Factory from miscellaneous to core (used by 
CustomAnalyzer) instead of moving the whole miscellaneous package to core.

The changes are split into four commits to make it easier to review:

 - Just file moves.

 - Just package name changes.

 - Changes related to moving EnglishAnalyzer.ENGLISH_STOP_WORD_SET to remove 
the dependency on common analysis.

 - Changes related to moving FrenchAnalyzer.DEFAULT_ARTICLES to remove the 
dependency on common analysis.

 

> Resolve package name conflicts for StandardAnalyzer to allow Java module 
> system support
> ---------------------------------------------------------------------------------------
>
>                 Key: LUCENE-9317
>                 URL: https://issues.apache.org/jira/browse/LUCENE-9317
>             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 there are a few preparatory tasks to be 
> completed prior to this being possible.  The Java module system requires that 
> jars do not use the same package name in different jars.  The lucene-core and 
> lucene-analyzers-common both share the package 
> org.apache.lucene.analysis.standard.
> Possible resolutions to this issue are discussed by Uwe on the mailing list 
> here:
>  
> [http://mail-archives.apache.org/mod_mbox/lucene-dev/202004.mbox/%3CCAM21Rt8FHOq_JeUSELhsQJH0uN0eKBgduBQX4fQKxbs49TLqzA%40mail.gmail.com%3E]????
> {quote}About StandardAnalyzer: Unfortunately I aggressively complained a 
> while back when Mike McCandless wanted to move standard analyzer out of the 
> analysis package into core (“for convenience”). This was a bad step, and IMHO 
> we should revert that or completely rename the packages and everything. The 
> problem here is: As the analysis services are only part of lucene-analyzers, 
> we had to leave the factory classes there, but move the implementation 
> classes in core. The package has to be the same. The only way around that is 
> to move the analysis factory framework also to core (I would not be against 
> that). This would include all factory base classes and the service loading 
> stuff. Then we can move standard analyzer and some of the filters/tokenizers 
> including their factories to core an that problem would be solved.
> {quote}
> There are two options here, either move factory framework into core or revert 
> StandardAnalyzer back to lucene-analyzers.  In the email, the solution lands 
> on reverting back as per the task list:
> {quote}Add some preparatory issues to cleanup class hierarchy: Move Analysis 
> SPI to core / remove StandardAnalyzer and related classes out of core back to 
> anaysis
> {quote}
>  
>  
>  
>  



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