All notable changes to this project are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning. See the CONTRIBUTING guide for instructions on how to add changelog entries.
- Removed JDK 11 and 17 version from CI runs #1921
- Integrate Lucene Vector field with native engines to use KNNVectorFormat during segment creation #1945
- k-NN query rescore support for native engines #1984
- Add support for byte vector with Faiss Engine HNSW algorithm #1823
- Add support for byte vector with Faiss Engine IVF algorithm #2002
- Adds iterative graph build capability into a faiss index to improve the memory footprint during indexing and Integrates KNNVectorsFormat for native engines#1950
- Corrected search logic for scenario with non-existent fields in filter #1874
- Add script_fields context to KNNAllowlist [#1917] (opensearch-project#1917)
- Fix graph merge stats size calculation #1844
- Disallow a vector field to have an invalid character for a physical file name. #1936
- Fix memory overflow caused by cache behavior #2015
- Parallelize make to reduce build time [#2006] (opensearch-project#2006)
- Fix a flaky unit test:testMultiFieldsKnnIndex, which was failing due to inconsistent merge behaviors #1924
- Introduce KNNVectorValues interface to iterate on different types of Vector values during indexing and search #1897
- Integrate KNNVectorValues with vector ANN Search flow #1952
- Clean up parsing for query #1824
- Refactor engine package structure #1913
- Refactor method structure and definitions #1920
- Refactor KNNVectorFieldType from KNNVectorFieldMapper to a separate class for better readability. #1931
- Generalize lib interface to return context objects #1925
- Restructure mappers to better handle null cases and avoid branching in parsing #1939
- Added Quantization Framework and implemented 1Bit and multibit quantizer#1889
- Encapsulate dimension, vector data type validation/processing inside Library #1957
- Add quantization state cache #1960