lucene
[WIP] Revisiting JVector codec
#15472
Open

[WIP] Revisiting JVector codec #15472

abernardi597 wants to merge 87 commits into apache:main from abernardi597:jvector
abernardi597
abernardi597 Add jvector-4.0.0-rc.5 dependency
7577d1e0
abernardi597 [build-fails] Checkout opensearch jvector codec
7843b82f
abernardi597 Fix license headers
c65c4679
abernardi597 Run tidy
cf2aa852
abernardi597 Fix package declarations
3b98cd86
abernardi597 Remove logging
8f00f877
abernardi597 Remove KNNCounter stats
2e2f5640
abernardi597 Fix references to missing KNNConstants
a47ca910
abernardi597 Remove lombok.Value annotation from JVectorKnnCollector
c30a0702
abernardi597 Fix AcceptDocs param in JVectorKnnFloatVectorQuery
d9e5ba31
abernardi597 Fix AcceptDocs param in JVectorReader
6b178d8f
abernardi597 Fix static imports of SIMD_POOL*
9604146d
abernardi597 Remove Lombok.Getter from JVectorWriter
caba8d9f
abernardi597 Remove lombok annotations from VectorIndexFieldMetadata
0fcac22f
abernardi597 Fix illegal access to PerFieldKnnVectorsFormat.FieldReader
384cde85
abernardi597 Fix references to getCodec
4a563928
abernardi597 Fix references to TestUtils.generateRandomVectors
585e7772
abernardi597 Fix ThreadLeakFilters in test
8ddcddb1
abernardi597 Fix missing @Override
25cd540a
abernardi597 Remove unused members
ee5ed2d7
abernardi597 Fix unqualified javadoc
3c47063c
abernardi597 Suppress cases-omitted from switch expression
af5e0bed
abernardi597 Add basic javadocs for classes without
4b2beb89
abernardi597 Fix forbiddenApis error
f97bfc51
abernardi597 Rename KNNJVectorTests
17e211f5
abernardi597 Fix missing @Test annotations
c2c8082f
abernardi597 Use JVectorSearchStrategy to plumb search parameters to JVectorReader
d26e1f67
abernardi597 Use IntUnaryOperator for numberOfSubspacesPerVetorSupplier
7435bf9e
abernardi597 Fix missed call to KnnCollector.incVisitedCount
ddbae421
abernardi597 Skip search altogether when graph is empty
e5b7619a
abernardi597 Fix multiple fieldEntry lookups
41856a6c
abernardi597 Do not write empty graph
d5b6d4ff
abernardi597 Fix merging other formats
7726aa04
abernardi597 Remove incremental graph build
6cb01839
abernardi597 Fix leading readers indexing error
47080f5c
abernardi597 Fix PQ refinement
34f0685d
abernardi597 Dry out JVectorFloatVectorValues
31b973e4
abernardi597 Fix JVectorFloatVectorValues VectorScorers
10a42873
abernardi597 Fix merging empty graphs
65439575
abernardi597 Pull dimension from merged fieldInfo
5f069189
abernardi597 Fix imports
7cc84799
abernardi597 Use RemappedRandomAccessVectorValues to abstract graphNodeIdsToRavvOrds
9f4a5571
abernardi597 Fix GraphNodeIdToDocMap deserialization
a4d32c43
abernardi597 Remove type parameter from FieldWriter
765cfaef
abernardi597 Fix missing copy on FieldWriter.addValue
19c9c3c0
abernardi597 Move DocIndexIterator logic to GraphNodeIdToDocMap
8a9d5ab5
abernardi597 Replace OnDiskGraphIndex.View.liveBits() check with assertion
64aefe5f
abernardi597 Extract FieldWriter.randomAccessVectorValues to method
6defb82c
abernardi597 Use DocsWithFieldSet instead of List<Integer> in FieldWriter
ae5cb161
abernardi597 Add GraphNodeIdToDocMap constructor from DocsWithFieldSet
19817295
abernardi597 Fix sort sort-on-flush logic
3171addc
abernardi597 Fix JVectorFloatVectorValues.ordToDoc
38e0b47a
abernardi597 Pull out merging functionality into method
b2340dd2
abernardi597 Remove synchronized from RandomAccessMergedFloatVectorValues
b2e587b7
abernardi597 Add BaseKnnVectorsFormatTestCase to TestJVectorFormat
58776c31
abernardi597 Remove explicit SIMD pools
fa2908e2
abernardi597 Replace VectorSimilarityMapper with simple switch
3ad86d85
abernardi597 fixup! Remove explicit SIMD pools
b5255b37
abernardi597 Make RandomAccessVectorValuesOverVectorValues thread-safe
5e2a8a0f
abernardi597 Use OrdinalMapper for sorting index
d3aeeb5e
abernardi597 Don't write metadata for empty graphs
d5f8bb25
abernardi597 Fix JVector data slicing
d7b40bad
abernardi597 Fix JVectorRandomAccessReader imports
7e21ddfd
abernardi597 Remove pqCodebooksReaderSupplier
3ff7e4c1
abernardi597 Remove indexReaderSupplier
44847ec3
abernardi597 Remove useless offset/length fields
8aa2cb17
abernardi597 Use proper index slicing
af695713
abernardi597 Remove segmentName arg from getGraph
b03d201a
abernardi597 Improve primary index file handling on write
4267ec0e
abernardi597 Remove FieldInfos field
f516762c
abernardi597 Fixup improve missing graph
df18dc8c
abernardi597 Write all fields to the same file
bbdcee5d
abernardi597 fixup! Fix missing @Override
f90eacfb
abernardi597 Fix remove sorting
cecc473d
abernardi597 Avoid extra copies in RandomAccessMergedFloatVectorValues.getVector()
1d2b4e83
abernardi597 Move PQ encoding to FieldWriter.addValue instead of flush
cfbf4c2e
abernardi597 Use bulk read methods where possible (requires JVector byte-order pull
dc3dba60
github-actions github-actions added module:sandbox
github-actions github-actions added module:build-infra
abernardi597 Move BuildScoreProvider to FieldWriter
9ef6dd91
abernardi597 Use ImmutableGraphIndex for writeField
4b25b4bf
abernardi597 Build graph while adding docs
54959f50
abernardi597 Support maxDegrees per-layer
ab9e92a5
abernardi597 Start largestQuantizedReaderIndex at -1
528b6d9d
abernardi597 fixup! Move PQ encoding to FieldWriter.addValue instead of flush
fe3c7832
abernardi597 Don't re-use PQ codebooks
029a116f
abernardi597 fixup! fixup! Move PQ encoding to FieldWriter.addValue instead of flush
5976164a
abernardi597 Small re-organize PQ merge
d2738f6a
abernardi597 Merge branch 'apache:main' into jvector
1ddfe8f9
mikemccand
mikemccand
mikemccand
mikemccand
mikemccand
abernardi597
uschindler
uschindler commented on 2025-12-13
mikemccand
abernardi597
RKSPD
mikemccand
mikemccand
mikemccand
RKSPD

Login to write a write a comment.

Login via GitHub

Assignees
No one assigned
Labels
Milestone