Hi Uwe

Thanks for your feedback!

I am using now:

private final int maxDimensions =16384;

Codec codec =new Lucene101Codec() {
    @Override public KnnVectorsFormat getKnnVectorsFormatForField(String field) 
{var delegate =new Lucene102HnswBinaryQuantizedVectorsFormat();
        return new DelegatingKnnVectorsFormat(delegate,maxDimensions);
    }
};
return codec;

This seems to work fine, but I do not understand whether there is a difference 
anymore between float32 and int8 vector values,
or whetherLucene102HnswBinaryQuantizedVectorsFormat always "quantizes" the 
values?

Thanks

Michael


Am 10.09.25 um 10:19 schrieb Uwe Schindler:

Hi,

I think the best is to check the source code of default codec of the upgrade version and start from there. I agree, there should possibly a documentation available that gives the default componenets used in the default codec of a given release.

Uwe

Am 09.09.2025 um 22:49 schrieb Michael Wechner:

Hi

With Lucene 9.12.0 I set my own custom max vector dimension using

Codec codecInt8 = new Lucene99Codec() { @Override public KnnVectorsFormat getKnnVectorsFormatForField(String field) { var delegate = new Lucene99HnswScalarQuantizedVectorsFormat(); log.info("Vector Value Type: int8, Maximum Vector Dimension: " + maxDimensions); return new DelegatingKnnVectorsFormat(delegate, maxDimensions); } }; and
Codec codecFloat32 =new Lucene99Codec() {
     @Override public KnnVectorsFormat getKnnVectorsFormatForField(String 
field) {
         var delegate =new Lucene99HnswVectorsFormat();
         log.info("Vector Value Type: float32, Maximum Vector Dimension: " 
+maxDimensions);
         return new DelegatingKnnVectorsFormat(delegate,maxDimensions);
     }
};

I am a little confused re which Codec / Vector Format classes I should use when 
upgrading to Lucene version 10.2.2

Any hints would be much appreciated!

Thanks

Michael


--
Uwe Schindler
Achterdiek 19, D-28357 Bremen
https://www.thetaphi.de
eMail:[email protected]

Reply via email to