GitHub user PaulElschot opened a pull request:
https://github.com/apache/lucene-solr/pull/41
Elias-Fano sequence also on BytesRef
LUCENE-5524
This PR adds encoding/decoding an Elias-Fano sequence in/from a BytesRef.
This PR adds three classes:
EliasFanoLongs and EliasFanoBytes both extending EliasFanoSequence,
and the long[] encoding is moved from EliasFanoEncoder into EliasFanoLongs.
The EliasFanoDecoder is changed to use these classes.
(There are also some improved variable names, this makes the changes
somewhat less easy to read...)
The recent fix for the number of index entry bits is included.
This PR also adds methods readVlong and writeVLong to BytesRef. I
considered keeping them local in EliasFanoBytes, but these fit better in
BytesRef I think.
This PR also changes EliasFanoDocIdSet to use EliasFanoLongs, and to fall
back to a FixedBitSet when too many bits are set. This fall back could be a
separate issue, but that would be more work now.
I hope I got the generics and diamonds right...
This is a squashed commit against trunk, 12 March 2014
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/PaulElschot/lucene-solr efbytesref-201403a
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/lucene-solr/pull/41.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #41
commit 4c302a5b8b03ff96dc486cbffd0163c28707a549
Author: Paul Elschot
Date: 2014-03-12T21:21:13Z
Squashed commit of efbytesref, 20140312
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---
-
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org