Exemplo n.º 1
0
    def __init__(self, document, inverted_index):
        """Constructor.

    Args:
      document: The ScoredDocument to evaluate the expression for.
      inverted_index: The search index (used for snippeting).
    """
        self._doc = document
        self._doc_pb = document.document
        self._inverted_index = inverted_index
        self._tokenizer = simple_tokenizer.SimpleTokenizer(preserve_case=False)
        self._case_preserving_tokenizer = simple_tokenizer.SimpleTokenizer(
            preserve_case=True)
        self._function_table = {
            ExpressionParser.ABS: self._Unsupported('abs'),
            ExpressionParser.COUNT: self._Count,
            ExpressionParser.DISTANCE: self._Unsupported('distance'),
            ExpressionParser.GEOPOINT: self._Unsupported('geopoint'),
            ExpressionParser.LEN: self._Unsupported('len'),
            ExpressionParser.LOG: self._Unsupported('log'),
            ExpressionParser.MAX: self._Max,
            ExpressionParser.MIN: self._Min,
            ExpressionParser.POW: self._Unsupported('pow'),
            ExpressionParser.SNIPPET: self._Snippet,
            ExpressionParser.SWITCH: self._Unsupported('switch'),
        }
Exemplo n.º 2
0
    def __init__(self, document, inverted_index, is_sort_expression=False):
        """Constructor.

    Args:
      document: The ScoredDocument to evaluate the expression for.
      inverted_index: The search index (used for snippeting).
      is_sort_expression: The flag indicates if this is a sort expression. Some
        operations (such as COUNT) are not supported in sort expressions.
    """
        self._doc = document
        self._doc_pb = document.document
        self._inverted_index = inverted_index
        self._tokenizer = simple_tokenizer.SimpleTokenizer(preserve_case=False)
        self._case_preserving_tokenizer = simple_tokenizer.SimpleTokenizer(
            preserve_case=True)
        self._function_table = {
            ExpressionParser.ABS: self._Unsupported('abs'),
            ExpressionParser.COUNT: self._Count,
            ExpressionParser.DISTANCE: self._Distance,
            ExpressionParser.GEOPOINT: self._Geopoint,
            ExpressionParser.LOG: self._Unsupported('log'),
            ExpressionParser.MAX: self._Max,
            ExpressionParser.MIN: self._Min,
            ExpressionParser.POW: self._Unsupported('pow'),
            ExpressionParser.SNIPPET: self._Snippet,
            ExpressionParser.SWITCH: self._Unsupported('switch'),
        }
        self._is_sort_expression = is_sort_expression
Exemplo n.º 3
0
  def __init__(self, document, inverted_index):
    """Constructor.

    Args:
      document: The ScoredDocument to evaluate the expression for.
      inverted_index: The search index (used for snippeting).
    """
    self._doc = document
    self._doc_pb = document.document
    self._inverted_index = inverted_index
    self._tokenizer = simple_tokenizer.SimpleTokenizer(preserve_case=False)
    self._case_preserving_tokenizer = simple_tokenizer.SimpleTokenizer(
        preserve_case=True)
    self._function_table = {
        'max': self._Max,
        'min': self._Min,
        'count': self._Count,
        'snippet': self._Snippet,
        'distance': self._Unsupported('distance'),
        }
 def __init__(self, index_spec):
     self._index_spec = index_spec
     self._documents = {}
     self._parser = simple_tokenizer.SimpleTokenizer(split_restricts=False)
     self._inverted_index = RamInvertedIndex(
         simple_tokenizer.SimpleTokenizer())
Exemplo n.º 5
0
 def __init__(self, query, inverted_index):
   self._query = query
   self._inverted_index = inverted_index
   self._parser = simple_tokenizer.SimpleTokenizer()