Class PhraseSegmentItem

All Implemented Interfaces:
BlockItem, HasIndexItem, IndexedItem, TaggableItem, Cloneable

public class PhraseSegmentItem extends IndexedSegmentItem
A term which contains a fixed length phrase, a collection of word terms, resulting from a single segmentation operation.
Author:
Steinar Knutsen
  • Constructor Details

    • PhraseSegmentItem

      public PhraseSegmentItem(AndSegmentItem andSegment)
      Creates a phrase containing the same words and state (as pertinent) as the given SegmentAndItem.
    • PhraseSegmentItem

      public PhraseSegmentItem(String rawWord, boolean isFromQuery, boolean stemmed)
    • PhraseSegmentItem

      public PhraseSegmentItem(String rawWord, String current, boolean isFromQuery, boolean stemmed)
      Creates a phrase segment from strings
      Parameters:
      rawWord - the raw text as received in the request
      current - the normalized form of the raw text, or the raw text repeated if no normalized form is known
      isFromQuery - whether this originates in the request
      stemmed - whether this is stemmed
    • PhraseSegmentItem

      public PhraseSegmentItem(String rawWord, String current, boolean isFromQuery, boolean stemmed, Substring substring)
  • Method Details

    • 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 String getName()
      Description copied from class: Item
      Returns the name of this item
      Specified by:
      getName in class Item
    • setIndexName

      public void setIndexName(String index)
      Description copied from class: IndexedSegmentItem
      Sets the name of the index to search
      Specified by:
      setIndexName in interface IndexedItem
      Overrides:
      setIndexName in class IndexedSegmentItem
    • setWeight

      public void setWeight(int weight)
      Description copied from class: Item
      Sets the relative importance of this term
      Overrides:
      setWeight in class Item
    • addItem

      public void addItem(Item item)
      Adds subitem. The word will have its index name set to the index name of this phrase. If the item is a word, it will simply be added, if the item is a phrase, each of the words of the phrase will be added.
      Overrides:
      addItem in class SegmentItem
      Throws:
      IllegalArgumentException - if the given item is not a WordItem or PhraseItem
    • extractSingleChild

      public Optional<Item> extractSingleChild()
      Description copied from class: CompositeItem
      Returns the single child of this, if this can be omitted without changes to recall semantics.
      Overrides:
      extractSingleChild in class CompositeItem
    • getWordItem

      public WordItem getWordItem(int index)
      Returns a subitem as a word item
      Parameters:
      index - the (0-base) index of the item to return
      Throws:
      IndexOutOfBoundsException - if there is no subitem at index
    • encodeThis

      protected void encodeThis(ByteBuffer buffer)
      Description copied from class: CompositeItem
      Encodes just this item, not its regular subitems, to the given buffer.
      Overrides:
      encodeThis in class IndexedSegmentItem
    • encode

      public int encode(ByteBuffer buffer)
      Overrides:
      encode in class CompositeItem
    • encodeContent

      public int encodeContent(ByteBuffer buffer)
    • shouldParenthesize

      protected boolean shouldParenthesize()
      Returns false, no parenthezes for phrases
      Overrides:
      shouldParenthesize in class CompositeItem
    • appendHeadingString

      protected void appendHeadingString(StringBuilder buffer)
      Segment phrase items uses a empty heading instead of "SPHRASE "
      Overrides:
      appendHeadingString in class Item
    • 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.
      Overrides:
      appendBodyString in class CompositeItem
    • getIndexedString

      public String getIndexedString()
      Description copied from interface: IndexedItem
      Return the searchable term contents of this item.
      Specified by:
      getIndexedString in interface IndexedItem
      Specified by:
      getIndexedString in class IndexedSegmentItem
      Returns:
      a string representation of what is presumably stored in an index which will match this item
    • isExplicit

      public boolean isExplicit()
    • setExplicit

      public void setExplicit(boolean explicit)
    • disclose

      public void disclose(Discloser discloser)
      Overrides:
      disclose in class IndexedSegmentItem
    • equals

      public boolean equals(Object other)
      Description copied from class: CompositeItem
      Returns whether this item is of the same class and contains the same state as the given item.
      Overrides:
      equals in class IndexedSegmentItem
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class IndexedSegmentItem