[
https://issues.apache.org/jira/browse/LUCENE-857?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12487116
]
Hoss Man commented on LUCENE-857:
---------------------------------
>From email since i didn't notice Otis opened this issue already...
Date: Thu, 5 Apr 2007 14:24:31 -0700 (PDT)
To: [email protected]
Subject: Re: Caching in QueryFilter - why?
: Since caching is built into the public BitSet bits(IndexReader reader)
: method, I don't see a way to deprecate that, which means I'll just cut
: it out and document it in CHANGES.txt. Anyone who wants QueryFilter
: caching will be able to get the caching back by wrapping the QueryFilter
: in your CachingWrapperFilter.
this seems like a potentially big surprise for people when upgrading ...
old code will continue to work fine without warning, just get a lot less
efficient.
If the concern is duplicated code, perhaps QueryFilter should be
deprecated and changed to be a subclass of CachingWrapperFilter, with a
constructor that takes in the Query and wraps it in some new class
(QueryWrapperFilter perhaps?) that does the meaty part (collecting the
matches) ...
@deprecated use CachingWrapperFilter and QueryWrapperFilter directly
public class QueryFilter extends CachingWrapperFilter {
public QueryFilter(Query query) {
super(new QueryWrapperFilter(query));
}
}
public class QueryWrapperFilter extends Filter {
private Query query;
public QueryWrapperFilter(Query query) {
this.query = query;
}
public BitSet bits(IndexReader reader) throws IOException {
final BitSet bits = new BitSet(reader.maxDoc());
new IndexSearcher(reader).search(query, new HitCollector() {
public final void collect(int doc, float score) {
bits.set(doc); // set bit for hit
}
});
return bits;
}
}
(obviously we need some toString, equals, and hashCode methods in here as well)
> Remove BitSet caching from QueryFilter
> --------------------------------------
>
> Key: LUCENE-857
> URL: https://issues.apache.org/jira/browse/LUCENE-857
> Project: Lucene - Java
> Issue Type: Improvement
> Reporter: Otis Gospodnetic
> Assigned To: Otis Gospodnetic
> Priority: Minor
> Attachments: LUCENE-857.patch
>
>
> Since caching is built into the public BitSet bits(IndexReader reader)
> method, I don't see a way to deprecate that, which means I'll just cut it out
> and document it in CHANGES.txt. Anyone who wants QueryFilter caching will be
> able to get the caching back by wrapping the QueryFilter in the
> CachingWrapperFilter.
--
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]