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

Remove Version from Analyzer constructors


    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.10, 6.0
    • Component/s: None
    • Labels:
    • Lucene Fields:


      This has always been a mess: analyzers are easy enough to make on your own, we don't need to "take responsibility" for the users analysis chain for 2 major releases.

      The code maintenance is horrible here.

      This creates a huge usability issue too, and as seen from numerous mailing list issues, users don't even understand how this versioning works anyway.

      I'm sure someone will whine if i try to remove these constants, but we can at least make no-arg ctors forwarding to VERSION_CURRENT so that people who don't care about back compat (e.g. just prototyping) don't have to deal with the horribly complex versioning system.

      If you want to make the argument that doing this is "trappy" (i heard this before), i think thats bogus, and ill counter by trying to remove them. Either way, I'm personally not going to add any of this kind of back compat logic myself ever again.

      Updated: description of the issue updated as expected. We should remove this API completely. No one else on the planet has APIs that require a mandatory version parameter.


        1. LUCENE-5859_dead_code.patch
          597 kB
          Robert Muir
        2. LUCENE-5859.patch
          808 kB
          Ryan Ernst



            • Assignee:
              rjernst Ryan Ernst
              rcmuir Robert Muir
            • Votes:
              0 Vote for this issue
              8 Start watching this issue


              • Created: