[
https://issues.apache.org/jira/browse/LUCENE-6973?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Shai Erera updated LUCENE-6973:
-------------------------------
Attachment: LUCENE-6973.patch
Patch with following changes:
* Change from Deque to List. Uwe, I thought that in our discussions you
mentioned that you prefer ArrayDeque, even though I agree that in this case,
since we don't remove any elements, I don't think it has benefits over simple
ArrayList).
* Change the new filters unit tests to not use {{TeeSinkTokenFilter}} at all,
as it's unrelated anymore.
Uwe, besides that, I didn't find any javadocs that refer to SinkFilter, can you
please cite an example?
> Improve TeeSinkTokenFilter
> --------------------------
>
> Key: LUCENE-6973
> URL: https://issues.apache.org/jira/browse/LUCENE-6973
> Project: Lucene - Core
> Issue Type: Improvement
> Reporter: Shai Erera
> Assignee: Shai Erera
> Priority: Minor
> Fix For: 5.5, Trunk
>
> Attachments: LUCENE-6973.patch, LUCENE-6973.patch, LUCENE-6973.patch
>
>
> {{TeeSinkTokenFilter}} can be improved in several ways, as it's written today:
> The most major one is removing {{SinkFilter}} which just doesn't work and is
> confusing. E.g., if you set a {{SinkFilter}} which filters tokens, the
> attributes on the stream such as {{PositionIncrementAttribute}} are not
> updated. Also, if you update any attribute on the stream, you affect other
> {{SinkStreams}} ... It's best if we remove this confusing class, and let
> consumers reuse existing {{TokenFilters}} by chaining them to the sink stream.
> After we do that, we can make all the cached states a single (immutable)
> list, which is shared between all the sink streams, so we don't need to keep
> many references around, and also deal with {{WeakReference}}.
> Besides that there are some other minor improvements to the code that will
> come after we clean up this class.
> From a backwards-compatibility standpoint, I don't think that {{SinkFilter}}
> is actually used anywhere (since it just ... confusing and doesn't work as
> expected), and therefore I believe it won't affect anyone. If however someone
> did implement a {{SinkFilter}}, it should be trivial to convert it to a
> {{TokenFilter}} and chain it to the {{SinkStream}}.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]