Class WeightedSetItem

  • All Implemented Interfaces:
    TaggableItem, java.lang.Cloneable
    Direct Known Subclasses:
    DotProductItem, WandItem

    public class WeightedSetItem
    extends SimpleTaggableItem
    A term which contains a weighted set. When using a weighted set to search a field, all tokens present in the searched field will be reverse matched against the weighted set. This means that using a weighted set to search a single-value attribute field will have similar semantics to using a normal term to search a weighted set field. The low-level matching information resulting from matching a document with a weighted set term will contain the weights of all the matched tokens in descending order. Each matched weight will be represented as a standard occurrence on position 0 in element 0.
    • Constructor Detail

      • WeightedSetItem

        public WeightedSetItem​(java.lang.String indexName)
        Creates an empty weighted set; note you must provide an index name up front
    • Method Detail

      • addToken

        public java.lang.Integer addToken​(long value,
                                          int weight)
      • addToken

        public java.lang.Integer addToken​(java.lang.String token,
                                          int weight)
        Add weighted token. If token is already in the set, the maximum weight is kept. NOTE: The weight must be 1 or more; negative values (and zero) are not allowed.
        Returns:
        weight of added token (might be old value, if kept)
      • addToken

        public java.lang.Integer addToken​(java.lang.String token)
        Add token with weight 1.
      • getTokenWeight

        public java.lang.Integer getTokenWeight​(java.lang.String token)
      • removeToken

        public java.lang.Integer removeToken​(java.lang.String token)
      • getNumTokens

        public int getNumTokens()
      • getTokens

        public java.util.Iterator<java.util.Map.Entry<java.lang.Object,​java.lang.Integer>> getTokens()
      • 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
      • getIndexName

        public java.lang.String getIndexName()
      • 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
      • 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
      • disclose

        public void disclose​(com.yahoo.prelude.query.textualrepresentation.Discloser discloser)
        Overrides:
        disclose in class Item
      • encode

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

        protected void encodeThis​(java.nio.ByteBuffer buffer)
        Overrides:
        encodeThis in class Item
      • getTermCount

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

        public WeightedSetItem clone()
        Description copied from class: Item
        Returns a deep copy of this item
        Overrides:
        clone in class Item