Basically I have this url dispatcher that capture a search term with each word separated by + to be search in the query. I have done this this is works but I think this will hit the performance due to repeated search to the database. Is there a better way to do this?
def search(request, **kwargs):
    context = RequestContext(request)
    test = {}
    result = BlogPage.objects.select_related('ImageMedia')
    if 'search_content' in kwargs:
        test['search_content'] = kwargs['search_content']
        if kwargs['search_content'] != '0':
            search_words = kwargs['search_content'].split('+')
            for words in search_words:
                result = result.filter(content__icontains=words)
    context_dict = {'blog_list': result}
    return render_to_response('blog/blog_search.html', context_dict, context)
 
     
     
    