[ https://issues.apache.org/jira/browse/LUCENE-1684?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12719107#action_12719107 ]
Michael McCandless commented on LUCENE-1684: -------------------------------------------- Thanks Marvin; I think the approach works very well. I plan to commit in a day or two... > Add matchVersion to StandardAnalyzer > ------------------------------------ > > Key: LUCENE-1684 > URL: https://issues.apache.org/jira/browse/LUCENE-1684 > Project: Lucene - Java > Issue Type: Improvement > Components: Analysis > Reporter: Michael McCandless > Assignee: Michael McCandless > Priority: Minor > Fix For: 2.9 > > Attachments: LUCENE-1684.patch > > > I think we should add a matchVersion arg to StandardAnalyzer. This > allows us to fix bugs (for new users) while keeping precise back > compat (for users who upgrade). > We've discussed this on java-dev, but I'd like to now make it concrete > (patch attached). I think it actually works very well, and is a > simple tool to help us carry out our back-compat policy. > I coded up an example with StandardAnalyzer: > * The ctor now takes a required arg (Version matchVersion). You > pass Version.LUCENE_CURRENT to always get lates & greatest, or eg > Version.LUCENE_24 to match 2.4's bugs/settings/behavior. > * StandardAalyzer conditionalizes the "replace invalid acronym" and > "enable position increment in StopFilter" based on matchVersion. > * It also prevents creating zillions of ctors, over time, as we need > to change settings in the class. EG StandardAnalyzer now has 2 > settings that are version dependent, and there's at least another > 2 issues open on fixing some more of its bugs. > The migration is also very clean: we'd only add this to classes on an > "as needed" basis. On the first release that adds the arg, the > default remains back compatible with the prior release. Then, going > forward, we are free to fix issues on that class and conditionalize by > matchVersion. > The javadoc at the top of StandardAnalyzer clearly calls out what > version specific behavior is done: > {code} > * <p>You must specify the required {...@link Version} > * compatibility when creating StandardAnalyzer: > * <ul> > * <li> As of 2.9, StopFilter preserves position > * increments by default > * <li> As of 2.9, Tokens incorrectly idenfied as acronyms > * are corrected (see <a > href="https://issues.apache.org/jira/browse/LUCENE-1068">LUCENE-1608</a> > * </ul> > * > {code} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org For additional commands, e-mail: java-dev-h...@lucene.apache.org