def get_sort(uid,fe): result = {} try: u_bci = es.get(index=BCI_INDEX_NAME, doc_type=BCI_INDEX_TYPE, id=uid,fields=['bci_week_ave'])['fields']['bci_week_ave'][0] #u_bci = es.get(index='user_portrait_1222', doc_type='user', id=uid,fields=['bci_week_ave'])['fields']['bci_week_ave'][0] result['in_score'] = u_bci except: result['in_score']=""; query_body={ 'query':{ 'filtered':{ 'filter':{ 'bool':{ 'must':[ {'range':{'bci_week_ave':{'gte':u_bci}}}, {'term':{'topic_string':fe}}] } } } } } result['in_top'] = es.search(index=BCI_INDEX_NAME, doc_type=BCI_INDEX_TYPE,body=query_body)['hits']['total'] print 'essearch' print es.search(index=BCI_INDEX_NAME, doc_type=BCI_INDEX_TYPE,body=query_body) try: u_bci = es.get(index='bci_history', doc_type='bci', id=uid,fields=['bci_week_ave'])['fields']['bci_week_ave'][0] #u_bci = es.get(index='user_portrait_1222', doc_type='user', id=uid,fields=['bci_week_ave'])['fields']['bci_week_ave'][0] print "trymax" bci_max = get_max_value(es_user_profile, "bci_history", "bci") print "max",bci_max result['all_score'] = math.log(u_bci/float(bci_max)*9+1,10)*100 except: result['all_score']="" result ['all_top']="" query_body={ 'query':{ 'filtered':{ 'filter':{ 'bool':{ 'must':[ {'range':{'bci_week_ave':{'gte':u_bci}}}] } } } } } result['all_top'] = es.search(index='bci_history', doc_type='bci',body=query_body)['hits']['total'] #result = es.search(index='user_portrait_1222', doc_type='user',body=query_body) # return json.dumps([result['hits']['total'],u_bci]) return json.dumps(result)
def get_uid(uname): try: portrait_exist_result = es_user_portrait.search(index=profile_index_name, doc_type=profile_index_type, \ body={"query":{"bool":{"must":{"term":{"nick_name":uname}}}}})['hits']['hits'][0]['_id'] except: return None return portrait_exist_result
def get_person_value(uid): #认证类型 #print es_user_profile,profile_index_name,profile_index_type,uid try: value_static = es_bci_history.get(index = bci_history_index_name,doc_type = bci_history_index_type,id=uid) value_inf = es_user_portrait.get(index = portrait_index_name,doc_type = portrait_index_type,id=uid) static = es_user_profile.get(index = profile_index_name,doc_type = profile_index_type,id=uid) except: return 'no' fans_max = es_bci_history.search(index = bci_history_index_name,doc_type = bci_history_index_type,body={'query':{'match_all':{}},'sort':{'user_fansnum':{'order':'desc'}},'size':1})['hits']['hits'][0]['_source']['user_fansnum'] print 'max:',fans_max #print static['found'] if static['found']==False: return 'no' else: static = static['_source'] #print "static",static try: ver_calue = verified_value[static['verified_type']] except: ver_calue = 0 #账号创建时间 times = math.ceil((time.time()-int(static['create_at']))/31536000) #粉丝数 #person = es_user_profile.get(index = profile_index_name,doc_type = profile_index_type,id=uid)['_source'] fans_value = math.log(float(value_static['_source']['user_fansnum'])/float(fans_max)*9+1,10) #fans_value = (math.log(static['fansnum']+1000000,100000000)-0.75)*4 #if fans_value>1: # fans_value=1.0 influence_max = es_user_portrait.search(index = portrait_index_name,doc_type = portrait_index_type,body={'query':{'match_all':{}},'sort':{'influence':{'order':'desc'}},'size':1})['hits']['hits'][0]['_source']['influence'] influence_value = float(value_inf['_source']['influence'])/float(influence_max) final= (ver_calue*0.1+times*0.05+fans_value+influence_value*1.2)*30 print ver_calue,times,fans_value,influence_value return final
def get_uid(uname): try: portrait_exist_result = es_user_portrait.search(index=profile_index_name, doc_type=profile_index_type, \ body={"query":{"bool":{"must":{"term":{"nick_name":uname}}}}})['hits']['hits'][0]['_id'] except: return None return portrait_exist_result
def search_portrait(condition_num, query, sort, size): user_result = [] index_name = portrait_index_name index_type = portrait_index_type if condition_num > 0: #try: result = es_user_portrait.search(index=index_name, doc_type=index_type, \ body={'query':{'bool':{'must':query}}, 'sort':[{sort:{'order':'desc'}}], 'size':size})['hits']['hits'] #except Exception,e: # raise e ## print 'result:', result else: try: result = es_user_portrait.search(index=index_name, doc_type=index_type, \ body={'query':{'match_all':{}}, 'sort':[{sort:{"order":"desc"}}], 'size':size})['hits']['hits'] except Exception, e: raise e
def search_portrait(condition_num, query, sort, size): user_result = [] index_name = portrait_index_name index_type = portrait_index_type if condition_num > 0: #try: result = es_user_portrait.search(index=index_name, doc_type=index_type, \ body={'query':{'bool':{'must':query}}, 'sort':[{sort:{'order':'desc'}}], 'size':size})['hits']['hits'] #except Exception,e: # raise e #print 'result:', result else: try: result = es_user_portrait.search(index=index_name, doc_type=index_type, \ body={'query':{'match_all':{}}, 'sort':[{sort:{"order":"desc"}}], 'size':size})['hits']['hits'] except Exception, e: raise e
def ajax_show_task(): # show all working task # "0": unfinish working task # "1": finish working task status = request.args.get("finish", "01") user = request.args.get('user', '') length = len(status) query_body = { "query": { "filtered": { "filter": { "bool": { "must": [{ "term": { "create_by": user } }] } } } }, "sort": { "create_at": { "order": "desc" } }, "size": 10000 } #if length == 2: # category_list = [status[0], status[1]] # query_body['query']['filtered']['filter']["bool"]["must"].append({"term":{"finish": category_list}}) if length == 1: query_body['query']['filtered']['filter']['bool']['must'].append( {"term": { "finish": status }}) #else: # print "error" try: search_results = es.search(index=index_manage_sensing_task, doc_type=task_doc_type, body=query_body)['hits']['hits'] except: search_results = [] results = [] if search_results: for item in search_results: item = item['_source'] history_status = json.loads(item['history_status']) if history_status: item['history_status'] = sorted(history_status, key=lambda x: x, reverse=True) else: item['history_status'] = [] results.append(item) return json.dumps(results)
def get_top_influence(key): query_body = { "query":{ "match_all": {} }, "sort":{key:{"order":"desc"}}, "size": 1 } search_result = es.search(index=portrait_index_name, doc_type=portrait_index_type, body=query_body)['hits']['hits'] if search_result: result = search_result[0]['_source'][key] return result
def get_top_influence(key): query_body = { "query":{ "match_all": {} }, "sort":{key:{"order":"desc"}}, "size": 1 } search_result = es.search(index=portrait_index_name, doc_type=portrait_index_type, body=query_body)['hits']['hits'] if search_result: result = search_result[0]['_source'][key] return result
def ajax_get_group_list(): user = request.args.get('user', '') # get all group list from group manage results = [] # query_body = { "query":{ "filtered":{ "filter":{ "bool":{ "should":[ {"term": {"task_type": "analysis"}}, {"bool":{ "must":[ {"term": {"task_type": "detect"}}, {"term": {"detect_process":100}} ] }} ], "must":{"term": {"submit_user": user}} } } } }, "sort": {"submit_date": {"order": "desc"}}, "size": 10000 } search_results = es.search(index=index_group_manage, doc_type=doc_type_group, body=query_body, timeout=600)['hits']['hits'] if search_results: for item in search_results: item = item['_source'] temp = [] temp.append(item['task_name']) temp.append(item['submit_user']) temp.append(item['submit_date']) temp.append(0) temp.append(item.get('state', "")) try: temp.append(json.loads(item['uid_list'])) count = len(json.loads(item['uid_list'])) temp[3] = count except: temp.append(item['uid_list']) temp[3] = len(item['uid_list']) results.append(temp) return json.dumps(results)
def get_evaluate_max(): max_result = {} evaluate_index = ['importance', 'influence', 'activeness', 'sensitive'] for evaluate in evaluate_index: query_body = { 'query':{ 'match_all':{} }, 'size': 1, 'sort': [{evaluate: {'order': 'desc'}}] } try: result = es_user_portrait.search(index=portrait_index_name, doc_type=portrait_index_type, body=query_body)['hits']['hits'] except Exception, e: raise e max_evaluate = result[0]['_source'][evaluate] max_result[evaluate] = max_evaluate
def filter_in_uname(input_dict): input_uname = input_dict.keys() all_count = len(input_uname) iter_count = 0 in_portrait_result = [] while iter_count < all_count: iter_user_list = input_uname[iter_count: iter_count+FILTER_ITER_COUNT] try: portrait_result = es_user_portrait.search(index=portrait_index_name, doc_type=portrait_index_type,\ body={'query':{'terms': {'uname': iter_user_list}}}, _source=False, fields=['photo_url', 'uname'])['hits']['hits'] except: portrait_result = [] if portrait_result: iter_in_portrait = [[item['_id'], item['uname'][0], item['photo_url'][0], input_uname[item['uname']]] for item in portrait_result] in_portrait_result.extend(iter_in_portrait) iter_count += FILTER_ITER_COUNT return in_portrait_result
def ajax_show_task(): # show all working task # "0": unfinish working task # "1": finish working task status = request.args.get("finish", "01") user = request.args.get('user', '') length = len(status) query_body = { "query":{ "filtered":{ "filter":{ "bool":{ "must":[ {"term":{"create_by": user}} ] } } } }, "sort": {"create_at": {"order": "desc"}}, "size": 10000 } #if length == 2: # category_list = [status[0], status[1]] # query_body['query']['filtered']['filter']["bool"]["must"].append({"term":{"finish": category_list}}) if length == 1: query_body['query']['filtered']['filter']['bool']['must'].append({"term":{"finish": status}}) #else: # print "error" try: search_results = es.search(index=index_manage_sensing_task, doc_type=task_doc_type, body=query_body)['hits']['hits'] except: search_results = [] results = [] if search_results: for item in search_results: item = item['_source'] history_status = json.loads(item['history_status']) if history_status: item['history_status'] = sorted(history_status, key=lambda x:x, reverse=True) else: item['history_status'] = [] results.append(item) return json.dumps(results)
def get_max_value(es, index_name, _type): query_body = { "query":{ "match_all": {} }, "sort":{'bci_week_ave':{"order":"desc"}}, "size": 1 } max_value = 1 try: result = es.search(index=index_name, doc_type=_type, body=query_body)['hits']['hits'] except: result = [] if result: max_value = result[0]['_source']['bci_week_ave'] return max_value
def get_top_all_influence(key, ts): query_body = { "query":{ "match_all": {} }, "sort":{key:{"order":"desc"}}, "size": 1 } index_name = "bci_" + ts2datetime(ts).replace('-','') if not es.indices.exists(index=index_name): index_name = "bci_" + ts2datetime(ts-DAY).replace('-','') exist_es = es.indices.exists(index=index_name) if exist_es: search_result = es.search(index=index_name, doc_type="bci", body=query_body)['hits']['hits'] else: search_result = {} if search_result: result = search_result[0]['_source'][key] else: result = 2000 return result
def get_evaluate_max(): max_result = {} evaluate_index = ['importance', 'influence', 'activeness', 'sensitive'] for evaluate in evaluate_index: query_body = { 'query': { 'match_all': {} }, 'size': 1, 'sort': [{ evaluate: { 'order': 'desc' } }] } try: result = es_user_portrait.search(index=portrait_index_name, doc_type=portrait_index_type, body=query_body)['hits']['hits'] except Exception, e: raise e max_evaluate = result[0]['_source'][evaluate] max_result[evaluate] = max_evaluate
def get_max_value(es, index_name, _type): query_body = { "query": { "match_all": {} }, "sort": { 'bci_week_ave': { "order": "desc" } }, "size": 1 } max_value = 1 try: result = es.search(index=index_name, doc_type=_type, body=query_body)['hits']['hits'] except: result = [] if result: max_value = result[0]['_source']['bci_week_ave'] return max_value
def get_social_topic(uid_set): results = {} query_body = { 'query':{ 'filtered':{ 'filter':{ 'terms':{ 'uid': list(uid_set) } } } }, 'aggs':{ 'all_topic':{ 'terms':{'field': 'topic_string'} } } } search_result = es_user_portrait.search(index=portrait_index_name, doc_type=portrait_index_type,\ body=query_body)['aggregations']['all_topic']['buckets'] for item in search_result: results[item['key']] = item['doc_count'] return results
def get_sort(uid, fe): result = {} try: u_bci = es.get(index=BCI_INDEX_NAME, doc_type=BCI_INDEX_TYPE, id=uid, fields=['bci_week_ave'])['fields']['bci_week_ave'][0] #u_bci = es.get(index='user_portrait_1222', doc_type='user', id=uid,fields=['bci_week_ave'])['fields']['bci_week_ave'][0] result['in_score'] = u_bci except: result['in_score'] = "" query_body = { 'query': { 'filtered': { 'filter': { 'bool': { 'must': [{ 'range': { 'bci_week_ave': { 'gte': u_bci } } }, { 'term': { 'topic_string': fe } }] } } } } } result['in_top'] = es.search(index=BCI_INDEX_NAME, doc_type=BCI_INDEX_TYPE, body=query_body)['hits']['total'] # print 'essearch' # print es.search(index=BCI_INDEX_NAME, doc_type=BCI_INDEX_TYPE,body=query_body) try: u_bci = es.get(index='bci_history', doc_type='bci', id=uid, fields=['bci_week_ave'])['fields']['bci_week_ave'][0] #u_bci = es.get(index='user_portrait_1222', doc_type='user', id=uid,fields=['bci_week_ave'])['fields']['bci_week_ave'][0] # print "trymax" bci_max = get_max_value(es_user_profile, "bci_history", "bci") # print "max",bci_max result['all_score'] = math.log(u_bci / float(bci_max) * 9 + 1, 10) * 100 except: result['all_score'] = "" result['all_top'] = "" query_body = { 'query': { 'filtered': { 'filter': { 'bool': { 'must': [{ 'range': { 'bci_week_ave': { 'gte': u_bci } } }] } } } } } result['all_top'] = es.search(index='bci_history', doc_type='bci', body=query_body)['hits']['total'] #result = es.search(index='user_portrait_1222', doc_type='user',body=query_body) # return json.dumps([result['hits']['total'],u_bci]) return json.dumps(result)
def search_task(task_name, submit_date, state, status, submit_user): results = [] query = [] condition_num = 0 if task_name: task_name_list = task_name.split(' ') for item in task_name_list: query.append({'wildcard':{'task_name': '*' + item + '*'}}) condition_num += 1 if submit_date: submit_date_ts = datetime2ts(submit_date) submit_date_start = submit_date_ts submit_date_end = submit_date_ts + DAY query.append({'range':{'submit_date': {'gte': submit_date_start, 'lt': submit_date_end}}}) condition_num += 1 if state: state_list = state.split(' ') for item in state_list: query.append({'wildcard':{'state': '*' + item + '*'}}) condition_num += 1 if status: query.append({'match':{'status': status}}) condition_num += 1 if submit_user: query.append({'term':{'submit_user': submit_user}}) condition_num += 1 print es_group_result,group_index_name,group_index_type if condition_num > 0: query.append({'term':{'task_type': 'analysis'}}) try: source = es_group_result.search( index = group_index_name, doc_type = group_index_type, body = { 'query':{ 'bool':{ 'must':query } }, 'sort': [{'count':{'order': 'desc'}}], 'size': MAX_VALUE } ) except Exception as e: raise e else: query.append({'term':{'task_type': 'analysis'}}) source = es.search( index = group_index_name, doc_type = group_index_type, body = { 'query':{'bool':{ 'must':query } }, 'sort': [{'count': {'order': 'desc'}}], 'size': MAX_VALUE } ) try: task_dict_list = source['hits']['hits'] except: return None result = [] for task_dict in task_dict_list: try: state = task_dict['_source']['state'] except: state = '' try: status = task_dict['_source']['status'] except: status = 0 #result.append([task_dict['_source']['task_name'], task_dict['_source']['submit_date'], task_dict['_source']['count'], state, status]) result.append({'task_name':task_dict['_source']['task_name'],'submit_date':ts2date(task_dict['_source']['submit_date']), 'group_count':task_dict['_source']['count'], 'status':status}) return result
def get_person_value(uid): #认证类型 #print es_user_profile,profile_index_name,profile_index_type,uid try: value_static = es_bci_history.get(index=bci_history_index_name, doc_type=bci_history_index_type, id=uid) value_inf = es_user_portrait.get(index=portrait_index_name, doc_type=portrait_index_type, id=uid) static = es_user_profile.get(index=profile_index_name, doc_type=profile_index_type, id=uid) except: return 'no' fans_max = es_bci_history.search( index=bci_history_index_name, doc_type=bci_history_index_type, body={ 'query': { 'match_all': {} }, 'sort': { 'user_fansnum': { 'order': 'desc' } }, 'size': 1 })['hits']['hits'][0]['_source']['user_fansnum'] print 'max:', fans_max #print static['found'] if static['found'] == False: return 'no' else: static = static['_source'] #print "static",static try: ver_calue = verified_value[static['verified_type']] except: ver_calue = 0 #账号创建时间 times = math.ceil((time.time() - int(static['create_at'])) / 31536000) #粉丝数 #person = es_user_profile.get(index = profile_index_name,doc_type = profile_index_type,id=uid)['_source'] fans_value = math.log( float(value_static['_source']['user_fansnum']) / float(fans_max) * 9 + 1, 10) #fans_value = (math.log(static['fansnum']+1000000,100000000)-0.75)*4 #if fans_value>1: # fans_value=1.0 influence_max = es_user_portrait.search( index=portrait_index_name, doc_type=portrait_index_type, body={ 'query': { 'match_all': {} }, 'sort': { 'influence': { 'order': 'desc' } }, 'size': 1 })['hits']['hits'][0]['_source']['influence'] influence_value = float( value_inf['_source']['influence']) / float(influence_max) final = (ver_calue * 0.1 + times * 0.05 + fans_value + influence_value * 1.2) * 30 print ver_calue, times, fans_value, influence_value return final
def ajax_get_group_list(): user = request.args.get('user', '') # get all group list from group manage results = [] # query_body = { "query": { "filtered": { "filter": { "bool": { "should": [{ "term": { "task_type": "analysis" } }, { "bool": { "must": [{ "term": { "task_type": "detect" } }, { "term": { "detect_process": 100 } }] } }], "must": { "term": { "submit_user": user } } } } } }, "sort": { "submit_date": { "order": "desc" } }, "size": 10000 } search_results = es.search(index=index_group_manage, doc_type=doc_type_group, body=query_body, timeout=600)['hits']['hits'] if search_results: for item in search_results: item = item['_source'] temp = [] temp.append(item['task_name']) temp.append(item['submit_user']) temp.append(item['submit_date']) temp.append(0) temp.append(item.get('state', "")) try: temp.append(json.loads(item['uid_list'])) count = len(json.loads(item['uid_list'])) temp[3] = count except: temp.append(item['uid_list']) temp[3] = len(item['uid_list']) results.append(temp) return json.dumps(results)
def conclusion_on_influence(uid): # test index_name = copy_portrait_index_name index_type = copy_portrait_index_type total_number = es.count(index=copy_portrait_index_name, doc_type=copy_portrait_index_type)["count"] try: influ_result = es.get(index=index_name, doc_type=index_type, id=uid)['_source'] except: influ_result = {} result = [0, 0, 0, 0, 0, 0, total_number] # aver_activeness, sorted, aver_influence, sorted return result aver_activeness = influ_result.get("aver_activeness", 0) aver_influence = influ_result.get("aver_influence", 0) aver_importance = influ_result.get('aver_importance', 0) influence_query_body = { "query":{ "match_all": {} }, "sort": {"aver_influence": {"order": "desc"}}, "size": 1 } top_influence = es.search(index=copy_portrait_index_name, doc_type=copy_portrait_index_type, body=influence_query_body)['hits']['hits'][0]['sort'][0] importance_query_body = { "query":{ "match_all": {} }, "sort": {"aver_importance": {"order": "desc"}}, "size": 1 } top_importance = es.search(index=copy_portrait_index_name, doc_type=copy_portrait_index_type, body=importance_query_body)['hits']['hits'][0]['sort'][0] activeness_query_body = { "query":{ "match_all": {} }, "sort": {"aver_activeness": {"order": "desc"}}, "size": 1 } top_activeness = es.search(index=copy_portrait_index_name, doc_type=copy_portrait_index_type, body=activeness_query_body)['hits']['hits'][0]['sort'][0] influence_query_body = { "query": { "filtered":{ "filter": { "range": { "aver_influence": { "gt": aver_influence } } } } } } activeness_query_body = { "query": { "filtered":{ "filter": { "range": { "aver_activeness": { "gt": aver_activeness } } } } } } importance_query_body = { "query": { "filtered":{ "filter": { "range": { "aver_importance": { "gt": aver_importance } } } } } } influence_count = es.count(index=copy_portrait_index_name, doc_type=copy_portrait_index_type, body=influence_query_body)['count'] activeness_count = es.count(index=copy_portrait_index_name, doc_type=copy_portrait_index_type, body=activeness_query_body)['count'] importance_count = es.count(index=copy_portrait_index_name, doc_type=copy_portrait_index_type, body=importance_query_body)['count'] result = [int(aver_activeness*100.0/top_activeness), activeness_count, int(aver_influence*100.0/top_influence), influence_count, int(aver_importance*100.0/top_importance), importance_count, total_number] return result
def conclusion_on_influence(uid): # test index_name = copy_portrait_index_name index_type = copy_portrait_index_type total_number = es.count(index=copy_portrait_index_name, doc_type=copy_portrait_index_type)["count"] try: influ_result = es.get(index=index_name, doc_type=index_type, id=uid)['_source'] except: influ_result = {} result = [0, 0, 0, 0, 0, 0, total_number ] # aver_activeness, sorted, aver_influence, sorted return result aver_activeness = influ_result.get("aver_activeness", 0) aver_influence = influ_result.get("aver_influence", 0) aver_importance = influ_result.get('aver_importance', 0) influence_query_body = { "query": { "match_all": {} }, "sort": { "aver_influence": { "order": "desc" } }, "size": 1 } top_influence = es.search( index=copy_portrait_index_name, doc_type=copy_portrait_index_type, body=influence_query_body)['hits']['hits'][0]['sort'][0] importance_query_body = { "query": { "match_all": {} }, "sort": { "aver_importance": { "order": "desc" } }, "size": 1 } top_importance = es.search( index=copy_portrait_index_name, doc_type=copy_portrait_index_type, body=importance_query_body)['hits']['hits'][0]['sort'][0] activeness_query_body = { "query": { "match_all": {} }, "sort": { "aver_activeness": { "order": "desc" } }, "size": 1 } top_activeness = es.search( index=copy_portrait_index_name, doc_type=copy_portrait_index_type, body=activeness_query_body)['hits']['hits'][0]['sort'][0] influence_query_body = { "query": { "filtered": { "filter": { "range": { "aver_influence": { "gt": aver_influence } } } } } } activeness_query_body = { "query": { "filtered": { "filter": { "range": { "aver_activeness": { "gt": aver_activeness } } } } } } importance_query_body = { "query": { "filtered": { "filter": { "range": { "aver_importance": { "gt": aver_importance } } } } } } influence_count = es.count(index=copy_portrait_index_name, doc_type=copy_portrait_index_type, body=influence_query_body)['count'] activeness_count = es.count(index=copy_portrait_index_name, doc_type=copy_portrait_index_type, body=activeness_query_body)['count'] importance_count = es.count(index=copy_portrait_index_name, doc_type=copy_portrait_index_type, body=importance_query_body)['count'] result = [ int(aver_activeness * 100.0 / top_activeness), activeness_count, int(aver_influence * 100.0 / top_influence), influence_count, int(aver_importance * 100.0 / top_importance), importance_count, total_number ] return result
def search_task(task_name, submit_date, state, status, submit_user): results = [] query = [] condition_num = 0 if task_name: task_name_list = task_name.split(' ') for item in task_name_list: query.append({'wildcard': {'task_name': '*' + item + '*'}}) condition_num += 1 if submit_date: submit_date_ts = datetime2ts(submit_date) submit_date_start = submit_date_ts submit_date_end = submit_date_ts + DAY query.append({ 'range': { 'submit_date': { 'gte': submit_date_start, 'lt': submit_date_end } } }) condition_num += 1 if state: state_list = state.split(' ') for item in state_list: query.append({'wildcard': {'state': '*' + item + '*'}}) condition_num += 1 if status: query.append({'match': {'status': status}}) condition_num += 1 if submit_user: query.append({'term': {'submit_user': submit_user}}) condition_num += 1 if condition_num > 0: query.append({'term': {'task_type': 'analysis'}}) try: source = es_group_result.search(index=group_index_name, doc_type=group_index_type, body={ 'query': { 'bool': { 'must': query } }, 'sort': [{ 'count': { 'order': 'desc' } }], 'size': MAX_VALUE }) except Exception as e: raise e else: query.append({'term': {'task_type': 'analysis'}}) source = es.search(index=group_index_name, doc_type=group_index_type, body={ 'query': { 'bool': { 'must': query } }, 'sort': [{ 'count': { 'order': 'desc' } }], 'size': MAX_VALUE }) try: task_dict_list = source['hits']['hits'] except: return None result = [] for task_dict in task_dict_list: try: state = task_dict['_source']['state'] except: state = '' try: status = task_dict['_source']['status'] except: status = 0 result.append([ task_dict['_source']['task_name'], task_dict['_source']['submit_date'], task_dict['_source']['count'], state, status ]) return result