Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-8566

Deprecate methods in CustomAnalyzer.Builder which take factory classes

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Won't Fix
    • None
    • None
    • modules/analysis
    • None
    • New

    Description

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

      Attachments

        Issue Links

          Activity

            People

              tomoko Tomoko Uchida
              tomoko Tomoko Uchida
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: