The Lucene PMC is pleased to announce the release of Apache Lucene 9.7.0.
Apache Lucene is a high-performance, full-featured search engine library
written entirely in Java. It is a technology suitable for nearly any
application that requires structured search, full-text search, faceting,
nearest-neighbor search across high-dimensionality vectors, spell
correction or query suggestions.
This release contains numerous bug fixes, optimizations, and improvements,
some of which are highlighted below. The release is available for immediate
download at:
<https://lucene.apache.org/core/downloads.html>
### Lucene 9.7.0 Release Highlights:
#### New features
* The new IndexWriter#updateDocuments(Query, Iterable) allows updating
multiple documents that match a query at the same time.
* Function queries can now compute similarity scores between kNN vectors.
#### Optimizations
* KNN indexing and querying can now take advantage of vectorization for
distance computation between vectors. To enable this, use exactly Java 20
or 21, and pass --add-modules jdk.incubator.vector as a command-line
parameter to the Java program.
* KNN queries now run concurrently if the IndexSearcher has been created
with an executor.
* Queries sorted by field are now able to dynamically prune hits only
using the after value. This yields major speedups when paginating deeply.
* Reduced merge-time overhead of computing the number of soft deletes.
#### Changes in runtime behavior
* KNN vectors are now disallowed to have non-finite values such as NaN or
±Infinity.
#### Bug fixes
* Backward reading is no longer an adversarial case for
BufferedIndexInput, used by NIOFSDirectory and SimpleFSDirectory. This
addresses a performance bug when performing terms dictionary lookups with
either of these directories.
* GraphTokenStreamFiniteStrings#articulationPointsRecurse may no longer
overflow the stack.
* ... plus a number of helpful bug fixes!
Please read CHANGES.txt for a full list of new features and changes:
<https://lucene.apache.org/core/9_7_0/changes/Changes.html>
--
Adrien
Apache Lucene is a high-performance, full-featured search engine library
written entirely in Java. It is a technology suitable for nearly any
application that requires structured search, full-text search, faceting,
nearest-neighbor search across high-dimensionality vectors, spell
correction or query suggestions.
This release contains numerous bug fixes, optimizations, and improvements,
some of which are highlighted below. The release is available for immediate
download at:
<https://lucene.apache.org/core/downloads.html>
### Lucene 9.7.0 Release Highlights:
#### New features
* The new IndexWriter#updateDocuments(Query, Iterable) allows updating
multiple documents that match a query at the same time.
* Function queries can now compute similarity scores between kNN vectors.
#### Optimizations
* KNN indexing and querying can now take advantage of vectorization for
distance computation between vectors. To enable this, use exactly Java 20
or 21, and pass --add-modules jdk.incubator.vector as a command-line
parameter to the Java program.
* KNN queries now run concurrently if the IndexSearcher has been created
with an executor.
* Queries sorted by field are now able to dynamically prune hits only
using the after value. This yields major speedups when paginating deeply.
* Reduced merge-time overhead of computing the number of soft deletes.
#### Changes in runtime behavior
* KNN vectors are now disallowed to have non-finite values such as NaN or
±Infinity.
#### Bug fixes
* Backward reading is no longer an adversarial case for
BufferedIndexInput, used by NIOFSDirectory and SimpleFSDirectory. This
addresses a performance bug when performing terms dictionary lookups with
either of these directories.
* GraphTokenStreamFiniteStrings#articulationPointsRecurse may no longer
overflow the stack.
* ... plus a number of helpful bug fixes!
Please read CHANGES.txt for a full list of new features and changes:
<https://lucene.apache.org/core/9_7_0/changes/Changes.html>
--
Adrien