the ongoing, long event has to be included in the result set. if you query for all events between start and end, the ongoing event, which has it's start date and end date far out of the queried range, must be included.
IIRC, your use case is, that you only have to include events, which haven't been started yet? we can support this by introduing a new function kwarg and modifying the query in this case:
```    
    if no_ongoing and start:
        query['start'] = {'query': start, 'range': 'min'}
    if no_ongoing and end:
        query['end'] = {'query': end, 'range': 'max'}

    if start and not no_ongoing:
        # All events from start date ongoing:
        # The minimum end date of events is the date from which we search.
        query['end'] = {'query': start, 'range': 'min'}
    if end and not no_ongoing:
        # All events until end date:
        # The maximum start date must be the date until we search.
        query['start'] = {'query': end, 'range': 'max'}
```