-
Notifications
You must be signed in to change notification settings - Fork 25k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add best_compression
option for indices
#8863
Conversation
@@ -245,6 +247,7 @@ public void write(Directory dir, SegmentInfo si, IOContext ioContext) throws IOE | |||
} | |||
} | |||
|
|||
// IF THIS TEST FAILS ON UPGRADE GO LOOK AT THE OldSIMockingCodec!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am sorry :)
+1 I left some comments |
LGTM |
I want @jpountz opinion too, when he has some time. |
+1 to the named codec approach. And I see that |
this is great!, now part of the time base data story can also be an optional codec change and optimizing to reduce storage for "old" indices, potentially significantly. |
This is wonderful, thank you guys! |
best_compression
option for Lucene 5.0
best_compression
option for Lucene 5.0best_compression
option for indices
upgrades lucene to latest, and supports the BEST_COMPRESSION parameter now supported (with backwards compatibility, etc) in Lucene. This option uses deflate, tuned for highly compressible data.
index.codec
::The
default
value compresses stored data with LZ4 compression, butthis can be set to
best_compression
for a higher compression ratio,at the expense of slower stored fields performance.
IMO its safest to implement as a named codec here, because ES already has logic to handle this correctly, and because its unrealistic to have a plethora of options to Lucene's default codec... we are practically limited in Lucene to what we can support with back compat, so I don't think we should overengineer this and add additional unnecessary plumbing.
See also:
https://issues.apache.org/jira/browse/LUCENE-5914
https://issues.apache.org/jira/browse/LUCENE-6089
https://issues.apache.org/jira/browse/LUCENE-6090
https://issues.apache.org/jira/browse/LUCENE-6100