dossier/store/elastic.py
def _range_filters(self, *key_ranges):
        'Creates ES filters for key ranges used in scanning.'
        filters = []
        for s, e in key_ranges:
            if isinstance(s, basestring):
                s = eid(s)
            if isinstance(e, basestring):
                # Make the range inclusive.
                # We need a valid codepoint, so use the max.
                e += u'\U0010FFFF'
                e = eid(e)

            if s == () and e == ():
                filters.append({'match_all': {}})
            elif e == ():
                filters.append({'range': {'_id': {'gte': s}}})
            elif s == ():
                filters.append({'range': {'_id': {'lte': e}}})
            else:
                filters.append({'range': {'_id': {'gte': s, 'lte': e}}})
        if len(filters) == 0:
            return [{'match_all': {}}]
        else:
            return filters
def _range_filters(self, *key_ranges):
        'Creates ES filters for key ranges used in scanning.'
        filters = []
        for s, e in key_ranges:
            if isinstance(s, basestring):
                s = eid(s)
            if isinstance(e, basestring):
                # Make the range inclusive.
                # We need a valid codepoint, so use the max.
                e += u'\U0010FFFF'
                e = eid(e)

            if s == () and e == ():
                filters.append({'match_all': {}})
            elif e == ():
                filters.append({'range': {'_id': {'gte': s}}})
            elif s == ():
                filters.append({'range': {'_id': {'lte': e}}})
            else:
                filters.append({'range': {'_id': {'gte': s, 'lte': e}}})
        if len(filters) == 0:
            return [{'match_all': {}}]
        else:
            return filters
def _range_filters ( self , * key_ranges ) : filters = [ ] for s , e in key_ranges : if isinstance ( s , basestring ) : s = eid ( s ) if isinstance ( e , basestring ) : # Make the range inclusive. # We need a valid codepoint, so use the max. e += u'\U0010FFFF' e = eid ( e ) if s == ( ) and e == ( ) : filters . append ( { 'match_all' : { } } ) elif e == ( ) : filters . append ( { 'range' : { '_id' : { 'gte' : s } } } ) elif s == ( ) : filters . append ( { 'range' : { '_id' : { 'lte' : e } } } ) else : filters . append ( { 'range' : { '_id' : { 'gte' : s , 'lte' : e } } } ) if len ( filters ) == 0 : return [ { 'match_all' : { } } ] else : return filters
Creates ES filters for key ranges used in scanning.
Creates ES filters for key ranges used in scanning .