[ https://issues.apache.org/jira/browse/LUCENE-2649?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ryan McKinley updated LUCENE-2649: ---------------------------------- Attachment: LUCENE-2649-FieldCacheWithBitSet.patch This patch replaces the cached primitive[] with a CachedObject. The object heiarch looks like this: {code:java} public abstract static class CachedObject { } public abstract static class CachedArray extends CachedObject { public final Bits valid; public CachedArray( Bits valid ) { this.valid = valid; } }; public static final class ByteValues extends CachedArray { public final byte[] values; public ByteValues( byte[] values, Bits valid ) { super( valid ); this.values = values; } }; ... {code} Then this @deprecates the getBytes() classes and replaces them with getByteValues() {code:java} public ByteValues getByteValues(IndexReader reader, String field) throws IOException; public ByteValues getByteValues(IndexReader reader, String field, ByteParser parser) throws IOException; {code} then repeat for all the other types! All tests pass with this patch, but i have not added any tests for the BitSet (yet) If people like the general look of this approach, I will clean it up and add some tests, javadoc cleanup etc > FieldCache should include a BitSet for matching docs > ---------------------------------------------------- > > Key: LUCENE-2649 > URL: https://issues.apache.org/jira/browse/LUCENE-2649 > Project: Lucene - Java > Issue Type: Improvement > Reporter: Ryan McKinley > Fix For: 4.0 > > Attachments: LUCENE-2649-FieldCacheWithBitSet.patch > > > The FieldCache returns an array representing the values for each doc. > However there is no way to know if the doc actually has a value. > This should be changed to return an object representing the values *and* a > BitSet for all valid docs. -- 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org