'Start a text search, using text indexes.
Require: MongoDB server version 2.6+.
:param language:  The language that determines the list of stop words
for the search and the rules for the stemmer and tokenizer.
If not specified, the search uses the default language of the index.
For supported languages, see
`Text Search Languages <http://docs.mongodb.org/manual/reference/text-search-languages/#text-search-languages>`.'

def search_text(self, text, language=None):

    queryset = self.clone()
    if queryset._search_text:
        raise OperationError('It    is    not    possible    to    use    search_text    two    times.')
    query_kwargs = SON({'$search': text})
    if language:
        query_kwargs['$language'] = language
    queryset._query_obj &= Q(__raw__={'$text': query_kwargs})
    queryset._mongo_query = None
    queryset._cursor_obj = None
    queryset._search_text = text
    return queryset
