[
https://issues.apache.org/jira/browse/LUCENE-1678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12718031#action_12718031
]
Michael McCandless commented on LUCENE-1678:
--------------------------------------------
bq. So, given it is already broken, why not fix it the right way?
Because two wrongs don't make a right?
(I assume you're suggesting changing tokenStream to match reusableTokenStream,
ie allowing it to return a reused TokenStream between calls, and then
deprecating reusableTokenStream).
Apps that get multiple TokenStreams from a single Analyzer and then iterate
through them, would silently break, if we up and made this 2nd
non-back-compatible change.
> Deprecate Analyzer.tokenStream
> ------------------------------
>
> Key: LUCENE-1678
> URL: https://issues.apache.org/jira/browse/LUCENE-1678
> Project: Lucene - Java
> Issue Type: Bug
> Components: Analysis
> Reporter: Michael McCandless
> Assignee: Michael McCandless
> Priority: Minor
> Fix For: 2.9
>
>
> The addition of reusableTokenStream to the core analyzers unfortunately broke
> back compat of external subclasses:
>
> http://www.nabble.com/Extending-StandardAnalyzer-considered-harmful-td23863822.html
> On upgrading, such subclasses would silently not be used anymore, since
> Lucene's indexing invokes reusableTokenStream.
> I think we should should at least deprecate Analyzer.tokenStream, today, so
> that users see deprecation warnings if their classes override this method.
> But going forward when we want to change the API of core classes that are
> extended, I think we have to introduce entirely new classes, to keep back
> compatibility.
--
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: [email protected]
For additional commands, e-mail: [email protected]