def get_timeline(request): result = {'status': -1, 'message': 'Error'} try: collection = json.loads(request.POST.get('collection', '{}')) query = json.loads(request.POST.get('query', '{}')) facet = json.loads(request.POST.get('facet', '{}')) qdata = json.loads(request.POST.get('qdata', '{}')) multiQ = request.POST.get('multiQ', 'query') if multiQ == 'query': label = qdata['q'] query['qs'] = [qdata] elif facet['type'] == 'range': _prop = filter(lambda prop: prop['from'] == qdata, facet['properties'])[0] label = '%(from)s - %(to)s ' % _prop facet_id = facet['id'] # Only care about our current field:value filter for fq in query['fqs']: if fq['id'] == facet_id: fq['properties'] = [_prop] else: label = qdata facet_id = facet['id'] # Only care about our current field:value filter for fq in query['fqs']: if fq['id'] == facet_id: fq['filter'] = [{'value': qdata, 'exclude': False}] # Remove other facets from collection for speed collection['facets'] = [ f for f in collection['facets'] if f['widgetType'] == 'histogram-widget' ] response = SolrApi(SOLR_URL.get(), request.user).query(collection, query) response = augment_solr_response(response, collection, query) label += ' (%s) ' % response['response']['numFound'] result['series'] = { 'label': label, 'counts': response['normalized_facets'][0]['counts'] } result['status'] = 0 result['message'] = '' except Exception as e: result['message'] = force_unicode(e) return JsonResponse(result)
def query(self, collection, query, facet=None): if facet: collection['template']['rows'] = 0 collection['facets'] = [facet] response = self.api.query(collection, query) return augment_solr_response(response, collection, query)
def query(self, collection, query, facet=None): if facet: collection['template']['rows'] = 0 collection['facets'] = [facet] response = self.api.query(collection, query) return augment_solr_response(response, collection, query)
def query(self, collection, query, facet=None): response = self.api.query(collection, query) return augment_solr_response(response, collection, query)
def query(self, collection, query, facet=None): response = self.api.query(collection, query) return augment_solr_response(response, collection, query)