[
https://issues.apache.org/jira/browse/LUCENE-6033?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
David Smiley updated LUCENE-6033:
---------------------------------
Attachment: LUCENE-6033_boolean_resetInput_option.patch
This patch adds a "resetStream" constructor option such that fillCache() will
propagate reset() if this is set. Very simple. I enhanced the test for this
and for isCached(). This option goes hand-in-hand with the use of isCached()
for the use-case I had in mind by allowing you to pass a tokenStream to
something that might not need it, thereby allowing you to not only toss the
CachingTokenFilter if it wasn't actually cached, but avoid a redundant reset()
call on the underlying input.
> Add CachingTokenFilter.isCached and switch LinkedList to ArrayList
> ------------------------------------------------------------------
>
> Key: LUCENE-6033
> URL: https://issues.apache.org/jira/browse/LUCENE-6033
> Project: Lucene - Core
> Issue Type: Improvement
> Reporter: David Smiley
> Assignee: David Smiley
> Fix For: 5.0, Trunk
>
> Attachments: LUCENE-6033.patch,
> LUCENE-6033_boolean_resetInput_option.patch
>
>
> CachingTokenFilter could use a simple boolean isCached() method implemented
> as-such:
> {code:java}
> /** If the underlying token stream was consumed and cached */
> public boolean isCached() {
> return cache != null;
> }
> {code}
> It's useful for the highlighting code to remove its wrapping of
> CachingTokenFilter if after handing-off to parts of its framework it turns
> out that it wasn't used.
> Furthermore, use an ArrayList, not a LinkedList. ArrayList is leaner when
> the token count is high, and this class doesn't manipulate the list in a way
> that might favor LL.
> A separate patch will come that actually uses this method.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]