lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael McCandless (JIRA)" <>
Subject [jira] Commented: (LUCENE-1684) Add matchVersion to StandardAnalyzer
Date Sat, 13 Jun 2009 09:51:07 GMT


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:
>             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="">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:
For additional commands, e-mail:

View raw message