Package com.yahoo.prelude.query
Class WeightedSetItem
- java.lang.Object
-
- com.yahoo.prelude.query.Item
-
- com.yahoo.prelude.query.SimpleTaggableItem
-
- com.yahoo.prelude.query.WeightedSetItem
-
- All Implemented Interfaces:
TaggableItem
,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.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.yahoo.prelude.query.Item
Item.ItemCreator, Item.ItemType
-
-
Field Summary
-
Fields inherited from class com.yahoo.prelude.query.Item
connectedBacklink, connectedItem, connectivity, DEFAULT_WEIGHT, explicitSignificance, significance, uniqueID
-
-
Constructor Summary
Constructors Constructor Description WeightedSetItem(String indexName)
Creates an empty weighted set; note you must provide an index name up frontWeightedSetItem(String indexName, Map<Object,Integer> map)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Integer
addToken(long value, int weight)
Integer
addToken(String token)
Adds a token with weight 1.Integer
addToken(String token, int weight)
Adds a weighted token.protected void
appendBodyString(StringBuilder buffer)
Override to append the item body in the canonical query language of this item.WeightedSetItem
clone()
Returns a deep copy of this itemvoid
disclose(Discloser discloser)
int
encode(ByteBuffer buffer)
protected void
encodeThis(ByteBuffer buffer)
boolean
equals(Object o)
Returns whether this item is of the same class and contains the same state as the given item.String
getIndexName()
Item.ItemType
getItemType()
Return the enumerated type of this item.String
getName()
Returns the name of this itemint
getNumTokens()
int
getTermCount()
Iterator<Map.Entry<Object,Integer>>
getTokens()
Integer
getTokenWeight(Object token)
int
hashCode()
Integer
removeToken(String token)
void
setIndexName(String index)
Sets the index name of this item-
Methods inherited from class com.yahoo.prelude.query.SimpleTaggableItem
getConnectedItem, getConnectivity, getSignificance, getUniqueID, hasExplicitSignificance, hasUniqueID, setConnectivity, setExplicitSignificance, setSignificance, setUniqueID
-
Methods inherited from class com.yahoo.prelude.query.Item
addAnnotation, appendHeadingString, getAnnotation, getBytes, getCode, getCreator, getLabel, getLanguage, getParent, getWeight, hasAnnotation, hasConnectivityBackLink, isFilter, isFromSpecialToken, isProtected, isRanked, isRoot, putBytes, putString, setCreator, setFilter, setFromSpecialToken, setHasUniqueID, setLabel, setLanguage, setParent, setPositionData, setProtected, setRanked, setWeight, shouldParenthesize, toString, usePositionData
-
-
-
-
Method Detail
-
addToken
public Integer addToken(long value, int weight)
-
addToken
public Integer addToken(String token, int weight)
Adds a weighted token. If this token is already in the set, the maximum weight is kept. The weight must be 1 or more; negative values (and zero) are not allowed.- Returns:
- the weight of the added token (might be the old value, if kept)
-
getNumTokens
public int getNumTokens()
-
setIndexName
public void setIndexName(String index)
Description copied from class:Item
Sets the index name of this item- Specified by:
setIndexName
in classItem
-
getIndexName
public String getIndexName()
-
getItemType
public Item.ItemType getItemType()
Description copied from class:Item
Return the enumerated type of this item.- Specified by:
getItemType
in classItem
-
appendBodyString
protected void appendBodyString(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 classItem
-
encode
public int encode(ByteBuffer buffer)
-
encodeThis
protected void encodeThis(ByteBuffer buffer)
- Overrides:
encodeThis
in classItem
-
getTermCount
public int getTermCount()
- Specified by:
getTermCount
in classItem
-
clone
public WeightedSetItem clone()
Description copied from class:Item
Returns a deep copy of this item
-
equals
public boolean equals(Object o)
Description copied from class:Item
Returns whether this item is of the same class and contains the same state as the given item.
-
-