[ https://issues.apache.org/jira/browse/LUCENE-8566?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16909498#comment-16909498 ]
Tomoko Uchida commented on LUCENE-8566: --------------------------------------- Hi would it be a good time to change all {{CustomAnalyzer}} Javadoc examples to ones with SPI names to encourage users to use those instead of class names? I mean, now we can change this {code:java} Analyzer ana = CustomAnalyzer.builder(Paths.get("/path/to/config/dir")) .withTokenizer(StandardTokenizerFactory.class) .addTokenFilter(StandardFilterFactory.class) .addTokenFilter(LowerCaseFilterFactory.class) .addTokenFilter(StopFilterFactory.class, "ignoreCase", "false", "words", "stopwords.txt", "format", "wordset") .build(); {code} to {code:java} Analyzer ana = CustomAnalyzer.builder(Paths.get("/path/to/config/dir")) .withTokenizer(StandardTokenizerFactory.NAME) .addTokenFilter(StandardFilterFactory.NAME) .addTokenFilter(LowerCaseFilterFactory.NAME) .addTokenFilter(StopFilterFactory.NAME, "ignoreCase", "false", "words", "stopwords.txt", "format", "wordset") .build(); {code} > Deprecate methods in CustomAnalyzer.Builder which take factory classes > ---------------------------------------------------------------------- > > Key: LUCENE-8566 > URL: https://issues.apache.org/jira/browse/LUCENE-8566 > Project: Lucene - Core > Issue Type: Improvement > Components: modules/analysis > Reporter: Tomoko Uchida > Assignee: Uwe Schindler > Priority: Minor > > CustomAnalyzer.Builder has methods which take implementation classes as > follows. > - withTokenizer(Class<? extends TokenizerFactory> factory, String... params) > - withTokenizer(Class<? extends TokenizerFactory> factory, > Map<String,String> params) > - addTokenFilter(Class<? extends TokenFilterFactory> factory, String... > params) > - addTokenFilter(Class<? extends TokenFilterFactory> factory, > Map<String,String> params) > - addCharFilter(Class<? extends CharFilterFactory> factory, String... params) > - addCharFilter(Class<? extends CharFilterFactory> factory, > Map<String,String> params) > Since the builder also has methods which take service names, it seems like > that above methods are unnecessary and a little bit misleading. Giving > symbolic names is preferable to implementation factory classes, but for now, > users can write code depending on implementation classes. > What do you think about deprecating those methods (adding {{@Deprecated}} > annotations) and deleting them in the future releases? Those are called by > only test cases so deleting them should have no impact on current lucene/solr > codebase. > If this proposal gains your consent, I will create a patch. (Let me know if I > missed some point. I'll close it.) -- This message was sent by Atlassian JIRA (v7.6.14#76016) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org