Package org.apache.lucene.queries.function.valuesource

## Class VectorSimilarityFunction

- java.lang.Object
- - org.apache.lucene.queries.function.ValueSource
  - - org.apache.lucene.queries.function.valuesource.VectorSimilarityFunction

- Direct Known Subclasses:
    `ByteVectorSimilarityFunction`, `FloatVectorSimilarityFunction`

      public abstract class VectorSimilarityFunction
      extends ValueSource

  `VectorSimilarityFunction` returns a similarity function between two knn vectors.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected VectorSimilarityFunction` | `similarityFunction` |
    `protected ValueSource` | `vector1` |
    `protected ValueSource` | `vector2` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `VectorSimilarityFunction​(VectorSimilarityFunction similarityFunction, ValueSource vector1, ValueSource vector2)` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | `description()` | description of field, used in explain()
    `boolean` | `equals​(Object o)` |
    `protected abstract float` | `func​(int doc, FunctionValues f1, FunctionValues f2)` |
    `FunctionValues` | `getValues​(Map<Object,​Object> context, LeafReaderContext readerContext)` | Gets the values for this reader and the context that was previously passed to createWeight().
    `int` | `hashCode()` |

    - ### Methods inherited from class org.apache.lucene.queries.function.ValueSource

      `asDoubleValuesSource, asLongValuesSource, createWeight, fromDoubleValuesSource, getSortField, newContext, toString`

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### similarityFunction

          protected final VectorSimilarityFunction similarityFunction

    - #### vector1

          protected final ValueSource vector1

    - #### vector2

          protected final ValueSource vector2

  - ### Constructor Detail

    - #### VectorSimilarityFunction

          public VectorSimilarityFunction​(VectorSimilarityFunction similarityFunction,
                                          ValueSource vector1,
                                          ValueSource vector2)

  - ### Method Detail

    - #### getValues

          public FunctionValues getValues​(Map<Object,​Object> context,
                                          LeafReaderContext readerContext)
                                   throws IOException

      Description copied from class: `ValueSource`
      Gets the values for this reader and the context that was previously passed to createWeight(). The values must be consumed in a forward docID manner, and you must call this method again to iterate through the values again.
      Specified by:
        `getValues` in class `ValueSource`
      Throws:
        `IOException`

    - #### func

          protected abstract float func​(int doc,
                                        FunctionValues f1,
                                        FunctionValues f2)
                                 throws IOException

      Throws:
        `IOException`

    - #### equals

          public boolean equals​(Object o)

      Specified by:
        `equals` in class `ValueSource`

    - #### hashCode

          public int hashCode()

      Specified by:
        `hashCode` in class `ValueSource`

    - #### description

          public String description()

      Description copied from class: `ValueSource`
      description of field, used in explain()
      Specified by:
        `description` in class `ValueSource`