Package org.apache.lucene.internal.vectorization

# Class VectorizationProvider

java.lang.Object
org.apache.lucene.internal.vectorization.VectorizationProvider

public abstract class VectorizationProvider extends Object
A provider of vectorization implementations. Depending on the Java version and availability of vectorization modules in the Java runtime this class provides optimized implementations (using SIMD) of several algorithms used throughout Apache Lucene.

Expert: set the "org.apache.lucene.vectorization.upperJavaFeatureVersion" system property to increase the set of Java versions this class will provide optimized implementations for.

NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static VectorizationProvider`
  `getInstance()`
  Returns the default instance of the provider matching vectorization possibilities of actual runtime.
  `abstract FlatVectorsScorer`
  `getLucene99FlatVectorsScorer()`
  Returns a FlatVectorsScorer that supports the Lucene99 format.
  `abstract VectorUtilSupport`
  `getVectorUtilSupport()`
  Returns a singleton (stateless) `VectorUtilSupport` to support SIMD usage in `VectorUtil`.
  `abstract PostingDecodingUtil`
  `newPostingDecodingUtil(IndexInput input)`
  Create a new `PostingDecodingUtil` for the given `IndexInput`.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### getInstance

    public static VectorizationProvider getInstance()
    Returns the default instance of the provider matching vectorization possibilities of actual runtime.
    Throws:
      `UnsupportedOperationException` - if the singleton getter is not called from known Lucene classes.

  - ### getVectorUtilSupport

    public abstract VectorUtilSupport getVectorUtilSupport()
    Returns a singleton (stateless) `VectorUtilSupport` to support SIMD usage in `VectorUtil`.

  - ### getLucene99FlatVectorsScorer

    public abstract FlatVectorsScorer getLucene99FlatVectorsScorer()
    Returns a FlatVectorsScorer that supports the Lucene99 format.

  - ### newPostingDecodingUtil

    public abstract PostingDecodingUtil newPostingDecodingUtil(IndexInput input) throws IOException
    Create a new `PostingDecodingUtil` for the given `IndexInput`.
    Throws:
      `IOException`