[
https://issues.apache.org/jira/browse/LUCENE-7371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15372803#comment-15372803
]
Michael McCandless commented on LUCENE-7371:
--------------------------------------------
This is a nice optimization! Patch looks good!
The {{BKDWriter}} change to pick which dimension to apply the run-length coding
to is best effort right? Because, you could have a dim with fewer unique
leading suffix bytes, but a larger delta between first and last values? But it
would take quite a bit more work at indexing time to figure it out ... maybe
add a comment explaining this tradeoff? It seems likely the "min delta"
approach should work well in practice, but have you tried with the
slow-but-correct approach to verify?
Also, I noticed {{TestBackwardsCompatibility}} seems not to test points! I'll
go fix that ...
> BKDReader could compress values better
> --------------------------------------
>
> Key: LUCENE-7371
> URL: https://issues.apache.org/jira/browse/LUCENE-7371
> Project: Lucene - Core
> Issue Type: Bug
> Reporter: Adrien Grand
> Assignee: Adrien Grand
> Priority: Minor
> Attachments: LUCENE-7371.patch, LUCENE-7371.patch
>
>
> For compressing values, BKDReader only relies on shared prefixes in a block.
> We could probably easily do better. For instance there are only 256 possible
> values for the first byte of the dimension that the values are sorted by, yet
> we use a block size of 1024. So by using something simple like run-length
> compression we could save 6 bits per value on average.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]