Class AllParser

java.lang.Object
com.yahoo.prelude.query.parser.AbstractParser
com.yahoo.prelude.query.parser.AllParser
All Implemented Interfaces:
CustomParser, Parser
Direct Known Subclasses:
WebParser

public class AllParser extends AbstractParser
Parser for queries of type all and weakAnd.
Author:
Steinar Knutsen, bratseth
  • Constructor Details

    • AllParser

      public AllParser(ParserEnvironment environment, boolean weakAnd)
      Creates an all/weakAnd parser
      Parameters:
      weakAnd - false to parse into AndItem (by default), true to parse to WeakAndItem
  • Method Details

    • parseItems

      protected Item parseItems()
      Specified by:
      parseItems in class AbstractParser
    • parseItemsBody

      protected Item parseItemsBody()
    • simplifyUnnecessaryComposites

      protected final Item simplifyUnnecessaryComposites(Item item)
    • addAnd

      protected CompositeItem addAnd(Item item, CompositeItem and)
    • addOr

      protected OrItem addOr(Item item, OrItem or)
    • addNot

      protected NotItem addNot(Item item, NotItem not)
    • negativeItem

      protected Item negativeItem()
    • combineItems

      protected Item combineItems(Item topLevelItem, Item item)
      Returns the top level item resulting from combining the given top level item and the new item. This implements most of the weird transformation rules of the parser.
    • handleComposite

      protected Item handleComposite(boolean topLevel)
    • anyItems

      protected Item anyItems(boolean topLevel)
      A collection of one or more items. More items are collected in the default composite - or. If there's a explicit composite and some other terms, a rank terms combines them
    • positiveItem

      protected Item positiveItem()
    • compositeItem

      protected Item compositeItem()
    • setSubmodeFromIndex

      protected void setSubmodeFromIndex(String indexName, IndexFacts.Session indexFacts)
      Sets the submodes used for url parsing. Override this to influence when such submodes are used.
    • indexableItem

      protected com.yahoo.collections.Pair<Item,Boolean> indexableItem()
      Returns an item and whether it had an explicit index ('indexname:' prefix).
      Returns:
      an item and whether it has an explicit index, or a Pair with the first element null if none
    • word

      protected Item word(String indexName, boolean quoted)
      Returns a WordItem if this is a non CJK query, a WordItem or SegmentItem if this is a CJK query, null if the current item is not a word
      Parameters:
      quoted - whether this token is inside quotes