def search(request): response = {} collection = json.loads(request.POST.get('collection', '{}')) query = json.loads(request.POST.get('query', '{}')) facet = json.loads(request.POST.get('facet', '{}')) cluster = request.POST.get('cluster', '""') query['download'] = 'download' in request.POST fetch_result = 'fetch_result' in request.POST if collection: try: if fetch_result: response = get_engine(request.user, collection, facet, cluster=cluster).fetch_result(collection, query, facet) else: response = get_engine(request.user, collection, facet, cluster=cluster).query(collection, query, facet) except RestException as e: response.update(extract_solr_exception_message(e)) except Exception as e: raise PopupException(e, title=_('Error while accessing Solr')) response['error'] = force_unicode(e) else: response['error'] = _('There is no collection to search.') if 'error' in response: augment_solr_exception(response, collection) return JsonResponse(response)
response = get_engine(request.user, collection, facet, cluster=cluster).query( collection, query, facet) except RestException, e: response.update(extract_solr_exception_message(e)) except Exception as e: raise PopupException(e, title=_('Error while accessing Solr')) response['error'] = force_unicode(e) else: response['error'] = _('There is no collection to search.') if 'error' in response: augment_solr_exception(response, collection) return JsonResponse(response) def query_suggest(request): if request.method != 'POST': raise PopupException(_('POST request required.')) collection = json.loads(request.POST.get('collection', '{}')) query = request.POST.get('query', '') result = {'status': -1, 'message': ''} solr_query = {} solr_query['q'] = query