def terms_from_search_string(search_string):
    """
    Returns a ``(include_terms, exclude_terms)`` tuple, where ``include_terms``
    and ``exclude_terms`` are sets of strings. Currently extremely naive;
    doesn't handle quoted terms.

    """
    terms = set(search_string.split())
    exclude_terms = set((term for term in terms if term.startswith('-')))
    include_terms = terms - exclude_terms
    stripped_exclude_terms = set([term.lstrip('-') for term in exclude_terms])
    return include_terms, stripped_exclude_terms