Class NearestNeighborItem

  • All Implemented Interfaces:
    TaggableItem, java.lang.Cloneable

    @Beta
    public class NearestNeighborItem
    extends SimpleTaggableItem
    Represent a query item matching the K nearest neighbors in a multi-dimensional vector space. The query point vector is referenced by the name of a tensor passed as a query rank feature; specifying "myvector" as the name means the query must set "ranking.features.query(myvector)". This rank feature must be configured with the correct tensor type in the active query profile. The field name (AKA the index name) given must be an attribute, with the exact same tensor type.
    Author:
    arnej
    • Constructor Detail

      • NearestNeighborItem

        public NearestNeighborItem​(java.lang.String fieldName,
                                   java.lang.String queryTensorName)
    • Method Detail

      • getTargetNumHits

        public int getTargetNumHits()
        Returns the K number of hits to produce
      • getIndexName

        public java.lang.String getIndexName()
        Returns the field name
      • getHnswExploreAdditionalHits

        public int getHnswExploreAdditionalHits()
        Returns the number of extra hits to explore in HNSW algorithm
      • getAllowApproximate

        public boolean getAllowApproximate()
        Returns whether approximation is allowed
      • getQueryTensorName

        public java.lang.String getQueryTensorName()
        Returns the name of the query tensor
      • setTargetNumHits

        public void setTargetNumHits​(int target)
        Set the K number of hits to produce
      • setHnswExploreAdditionalHits

        public void setHnswExploreAdditionalHits​(int num)
        Set the number of extra hits to explore in HNSW algorithm
      • setAllowApproximate

        public void setAllowApproximate​(boolean value)
        Set whether approximation is allowed
      • setIndexName

        public void setIndexName​(java.lang.String index)
        Description copied from class: Item
        Sets the index name of this item
        Specified by:
        setIndexName in class Item
      • getItemType

        public Item.ItemType getItemType()
        Description copied from class: Item
        Return the enumerated type of this item.
        Specified by:
        getItemType in class Item
      • getName

        public java.lang.String getName()
        Description copied from class: Item
        Returns the name of this item
        Specified by:
        getName in class Item
      • getTermCount

        public int getTermCount()
        Specified by:
        getTermCount in class Item
      • encode

        public int encode​(java.nio.ByteBuffer buffer)
        Specified by:
        encode in class Item
      • appendBodyString

        protected void appendBodyString​(java.lang.StringBuilder buffer)
        Description copied from class: Item
        Override to append the item body in the canonical query language of this item. An item is usually represented by the string
         ([itemName] [body])
         
        The body must be appended appended by this method.
        Specified by:
        appendBodyString in class Item