def get_terms(request): result = {'status': -1, 'message': 'Error'} try: collection = json.loads(request.POST.get('collection', '{}')) analysis = json.loads(request.POST.get('analysis', '{}')) limit = json.loads(request.POST.get('limit', '25')) support_distributed = [engine for engine in get_engines(request.user) if engine['type'] == 'solr'][0]['analytics'] field = analysis['name'] properties = { 'terms.limit': limit, 'terms.distrib': str(support_distributed).lower(), # lower # mincount # maxcount } if analysis['terms']['prefix']: properties['terms.regex'] = '.*%(prefix)s.*' % analysis['terms'] # Use regexp instead of case sensitive 'terms.prefix' properties['terms.regex.flag'] = 'case_insensitive' result['terms'] = SolrApi(SOLR_URL.get(), request.user).terms(collection['name'], field, properties) result['terms'] = pairwise2(field, [], result['terms']['terms'][field]) result['status'] = 0 result['message'] = '' except Exception as e: result['message'] = force_unicode(e) if 'not currently supported' in result['message']: result['status'] = 1 result['message'] = _('This field does not support stats') return JsonResponse(result)
def get_terms(request): result = {'status': -1, 'message': 'Error'} try: collection = json.loads(request.POST.get('collection', '{}')) analysis = json.loads(request.POST.get('analysis', '{}')) limit = json.loads(request.POST.get('limit', '25')) field = analysis['name'] properties = { 'terms.limit': limit, # lower # mincount # maxcount } if analysis['terms']['prefix']: properties['terms.prefix'] = analysis['terms']['prefix'] result['terms'] = SolrApi(SOLR_URL.get(), request.user).terms(collection['name'], field, properties) result['terms'] = pairwise2(field, [], result['terms']['terms'][field]) result['status'] = 0 result['message'] = '' except Exception, e: result['message'] = force_unicode(e) if 'not currently supported' in result['message']: result['status'] = 1 result['message'] = _('This field does not support stats')