[
https://issues.apache.org/jira/browse/LUCENE-10612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17553499#comment-17553499
]
Adrien Grand commented on LUCENE-10612:
---------------------------------------
We have been rejecting such requests in the past due to the impact it has on
backward compatibility, as the default codec has strong backward compatibility
guarantees, and we need to make sure that the compatibility guarantees hold for
every combination of options.
Stored fields are indeed an exception because it was hard to come up with
values that would work well enough for everyone. But it was done in a way that
has a very small surface, e.g. it doesn't expose the algorithm that is used
under the hood or the size of blocks, or the DEFLATE compression level, it's
only two options with opaque implementation details. On the other hand maxConn
and beamWidth are specific implementation details of HNSW that can take a large
range of values. And even with only two possible options, we still set the bar
pretty high for configurability of the default codec, e.g. there was an option
for doc values at some point that we ended up removing.
Would it work for you to override `Lucene93Codec#getKnnVectorsFormatForField`?
The caveat is that it is customizing file formats, so it puts you on your own
regarding backward compatibility.
> Add parameters for HNSW codec in Lucene93Codec
> ----------------------------------------------
>
> Key: LUCENE-10612
> URL: https://issues.apache.org/jira/browse/LUCENE-10612
> Project: Lucene - Core
> Issue Type: Task
> Components: core/codecs
> Reporter: Elia Porciani
> Priority: Major
>
> Currently, it is possible to specify only the compression mode for stored
> fields in the LuceneXXCodec constructors.
> With the introduction of HNSW graph, and the LuceneXXHnswCodecFormat,
> LuceneXXCodec should provide an easy way to specify custom parameters for
> HNSW graph layout:
> * maxConn
> * beamWidth
--
This message was sent by Atlassian Jira
(v8.20.7#820007)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]