Package org.apache.lucene.search

## Class ByteVectorSimilarityQuery

- java.lang.Object
- - org.apache.lucene.search.Query
  - - org.apache.lucene.search.ByteVectorSimilarityQuery

-     public class ByteVectorSimilarityQuery
      extends Query

  Search for all (approximate) byte vectors above a similarity threshold.
  WARNING: This API is experimental and might change in incompatible ways in the next release.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected String` | `field` |
    `protected Query` | `filter` |
    `protected float` | `resultSimilarity` |
    `protected float` | `traversalSimilarity` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ByteVectorSimilarityQuery​(String field, byte[] target, float resultSimilarity)` | Search for all (approximate) byte vectors above a similarity threshold using `VectorSimilarityCollector`.
    `ByteVectorSimilarityQuery​(String field, byte[] target, float traversalSimilarity, float resultSimilarity)` | Search for all (approximate) byte vectors above a similarity threshold using `VectorSimilarityCollector`.
    `ByteVectorSimilarityQuery​(String field, byte[] target, float traversalSimilarity, float resultSimilarity, Query filter)` | Search for all (approximate) byte vectors above a similarity threshold using `VectorSimilarityCollector`.
    `ByteVectorSimilarityQuery​(String field, byte[] target, float resultSimilarity, Query filter)` | Search for all (approximate) byte vectors above a similarity threshold using `VectorSimilarityCollector`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected TopDocs` | `approximateSearch​(LeafReaderContext context, Bits acceptDocs, int visitLimit)` |
    `Weight` | `createWeight​(IndexSearcher searcher, ScoreMode scoreMode, float boost)` | Expert: Constructs an appropriate Weight implementation for this query.
    `boolean` | `equals​(Object o)` | Override and implement query instance equivalence properly in a subclass.
    `int` | `hashCode()` | Override and implement query hash code properly in a subclass.
    `String` | `toString​(String field)` | Prints a query to a string, with `field` assumed to be the default field and omitted.
    `void` | `visit​(QueryVisitor visitor)` | Recurse through the query tree, visiting any child queries.

    - ### Methods inherited from class org.apache.lucene.search.Query

      `classHash, rewrite, rewrite, sameClassAs, toString`

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

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

- - ### Field Detail

    - #### field

          protected final String field

    - #### traversalSimilarity

          protected final float traversalSimilarity

    - #### resultSimilarity

          protected final float resultSimilarity

    - #### filter

          protected final Query filter

  - ### Constructor Detail

    - #### ByteVectorSimilarityQuery

          public ByteVectorSimilarityQuery​(String field,
                                           byte[] target,
                                           float traversalSimilarity,
                                           float resultSimilarity,
                                           Query filter)

      Search for all (approximate) byte vectors above a similarity threshold using `VectorSimilarityCollector`. If a filter is applied, it traverses as many nodes as the cost of the filter, and then falls back to exact search if results are incomplete.
      Parameters:
        `field` - a field that has been indexed as a `KnnByteVectorField`.
        `target` - the target of the search.
        `traversalSimilarity` - (lower) similarity score for graph traversal.
        `resultSimilarity` - (higher) similarity score for result collection.
        `filter` - a filter applied before the vector search.

    - #### ByteVectorSimilarityQuery

          public ByteVectorSimilarityQuery​(String field,
                                           byte[] target,
                                           float traversalSimilarity,
                                           float resultSimilarity)

      Search for all (approximate) byte vectors above a similarity threshold using `VectorSimilarityCollector`.
      Parameters:
        `field` - a field that has been indexed as a `KnnByteVectorField`.
        `target` - the target of the search.
        `traversalSimilarity` - (lower) similarity score for graph traversal.
        `resultSimilarity` - (higher) similarity score for result collection.

    - #### ByteVectorSimilarityQuery

          public ByteVectorSimilarityQuery​(String field,
                                           byte[] target,
                                           float resultSimilarity,
                                           Query filter)

      Search for all (approximate) byte vectors above a similarity threshold using `VectorSimilarityCollector`. If a filter is applied, it traverses as many nodes as the cost of the filter, and then falls back to exact search if results are incomplete.
      Parameters:
        `field` - a field that has been indexed as a `KnnByteVectorField`.
        `target` - the target of the search.
        `resultSimilarity` - similarity score for result collection.
        `filter` - a filter applied before the vector search.

    - #### ByteVectorSimilarityQuery

          public ByteVectorSimilarityQuery​(String field,
                                           byte[] target,
                                           float resultSimilarity)

      Search for all (approximate) byte vectors above a similarity threshold using `VectorSimilarityCollector`.
      Parameters:
        `field` - a field that has been indexed as a `KnnByteVectorField`.
        `target` - the target of the search.
        `resultSimilarity` - similarity score for result collection.

  - ### Method Detail

    - #### approximateSearch

          protected TopDocs approximateSearch​(LeafReaderContext context,
                                              Bits acceptDocs,
                                              int visitLimit)
                                       throws IOException

      Throws:
        `IOException`

    - #### toString

          public String toString​(String field)

      Description copied from class: `Query`
      Prints a query to a string, with `field` assumed to be the default field and omitted.
      Specified by:
        `toString` in class `Query`

    - #### equals

          public boolean equals​(Object o)

      Description copied from class: `Query`
      Override and implement query instance equivalence properly in a subclass. This is required so that `QueryCache` works properly.

      Typically a query will be equal to another only if it's an instance of the same class and its document-filtering properties are identical to those of the other instance. Utility methods are provided for certain repetitive code.

      See Also:
        `Query.sameClassAs(Object)`, `Query.classHash()`

    - #### hashCode

          public int hashCode()

      Description copied from class: `Query`
      Override and implement query hash code properly in a subclass. This is required so that `QueryCache` works properly.
      See Also:
        `Query.equals(Object)`

    - #### createWeight

          public Weight createWeight​(IndexSearcher searcher,
                                     ScoreMode scoreMode,
                                     float boost)
                              throws IOException

      Description copied from class: `Query`
      Expert: Constructs an appropriate Weight implementation for this query.

      Only implemented by primitive queries, which re-write to themselves.

      Overrides:
        `createWeight` in class `Query`
        `scoreMode` - How the produced scorers will be consumed.
        `boost` - The boost that is propagated by the parent queries.
      Throws:
        `IOException`

    - #### visit

          public void visit​(QueryVisitor visitor)

      Description copied from class: `Query`
      Recurse through the query tree, visiting any child queries.
      Specified by:
        `visit` in class `Query`
      Parameters:
        `visitor` - a QueryVisitor to be called by each query in the tree