def update_user_index(): url1 = SOLR_HOST + "user/dataimport?command=delta-import" url2 = SOLR_HOST + "admin/cores?action=RELOAD&core=user" metric = METRIC + "update_user_index" try: profiler = ProfilingRecord().start(metric) response1 = requests.get(url1) if response1.status_code != 200: profiler.stop(response1.status_code) else: response2 = requests.get(url2) profiler.stop(response2.status_code) except: profiler.stop(500) return None
def get_csv_solr(query, query_name='', metric='solr_all'): try: profiler = ProfilingRecord().start(metric) response = requests.get(query) profiler.stop(response.status_code) return response.content except: profiler.stop(500) return None
def get_stats_solr(query, stats_field, query_name='', metric='solr_all'): try: profiler= ProfilingRecord().start(metric) response = requests.get(query) profiler.stop(response.status_code) except: profiler.stop(500) logger.error("Solr API failure: %s", query, exc_info=True, extra={'response': response}) return None if response.status_code >=400: logger.error("Solr API failure: %s", query, exc_info=True, extra={'response': response,}) return None response = response.json() if 'stats' in response: if 'stats_fields' in response.get('stats'): return response.get('stats').get('stats_fields').get(stats_field)
def get_group_solr(query, group_field, query_name='', metric='solr_all'): try: profiler= ProfilingRecord().start(metric) response = requests.get(query) profiler.stop(response.status_code) except: profiler.stop(500) logger.error("Solr API failure: %s", query, exc_info=True, extra={'response': response, 'group': group}) return None if response.status_code >=400: logger.error("Solr API failure: %s", query, exc_info=True, extra={'response': response,}) return None response = response.json() if 'grouped' in response: if 'customer_user_id' in response.get('grouped'): if 'groups' in response.get('grouped').get(group_field): return response.get('grouped').get(group_field).get('groups')[0].get('doclist').get('docs')