コード例 #1
0
ファイル: api.py プロジェクト: ziq211/hue
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)
コード例 #2
0
                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