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.
- Add
model_selection(language_option/model_type) parameter to semantic field to resolve the model id from cluster settings (#1918)
- [Neural Query] Expose embedded filters to
QueryBuilderVisitortraversal (#1992) - [Hybrid Query] Add opt-in index setting
index.neural_search.hybrid_collapse_distinct_groups_enabledto make collapse return top-sizedistinct groups instead of deduplicated top-sizedocuments (#1947) - [Hybrid Query] Fix NoSuchElementException in hybrid query with sort/search_after when a shard returns no results (#1939)
- [SemanticHighlighter] Fix SemanticHighlighterExtBuilder.toXContent (#1906) (query-insights #651)
- [Sparse ANN] Fold sparse vector tokens into the signed-short range (modulus 32768) so folded tokens are never sign-extended to a negative value when stored in short[] (#1926)
- [Hybrid Query] Read the current document and its sub-query matches from the positioned disjunction iterator, fixing an ArrayIndexOutOfBoundsException and silently misattributed scores when a sub-query has a two-phase iterator (#1946)
- [RRF] Reject a combination technique other than rrf when creating a score-ranker-processor, instead of accepting the pipeline and throwing NullPointerException on every query (#1949)
- [Sparse ANN] Skip cache cleanup for a closed index's shards, which have no MapperService, so reopening a sparse index no longer leaks the shard lock and leaves the shard unassigned (#1982)
- [Sparse ANN] Add scripts/build.sh so the distribution build ships the native sparse engine: every SIMD variant the target architecture may need is built into the plugin zip, and the variant to load is picked from the host's CPU flags at runtime (#1978)
- [Sparse ANN] Add the JNI layer for the native sparse engine, bridging to the neural-sparse-cpp library, with a googletest suite run on Linux and Windows plus an ASan/LSan job (#1972)
- [Neural Sparse] Pin the two-phase processor IT index to a single shard so its pruned-score assertions do not depend on the cluster's default shard count (#1959)
- [Semantic Field] Add an end-to-end remote dense model IT for the semantic field mapping transformer using the TorchServe mock model (#1966)
- Guard eclipse() to spotless tasks and keep P2 mirror on pinned version (#1988)
- [Hybrid Query] Add cross-plugin integration coverage for document-level security (#1957)