def lookup_date_info(today_datetime): query_body = { 'query': { 'match_all': {} }, 'size': MAX_VALUE, 'sort': { 'date_time': { 'order': 'asc' } } } try: result = es_xnr.search(index=weibo_date_remind_index_name, doc_type=weibo_date_remind_index_type, body=query_body)['hits']['hits'] date_result = [] for item in result: #计算距离日期 date_time = item['_source']['date_time'] year = ts2yeartime(today_datetime) warming_date = year + '-' + date_time today_date = ts2datetime(today_datetime) countdown_num = (datetime2ts(warming_date) - datetime2ts(today_date)) / DAY item['_source']['countdown_days'] = countdown_num if abs(countdown_num) < WARMING_DAY: date_result.append(warming_date) else: pass except: date_result = [] #print 'date_result',date_result return date_result
def create_date_warning(start_time,end_time): today_datetime = end_time query_body={ 'query':{ 'match_all':{} }, 'size':MAX_VALUE, 'sort':{'date_time':{'order':'asc'}} } #try: result=es_xnr.search(index=weibo_date_remind_index_name,doc_type=weibo_date_remind_index_type,body=query_body)['hits']['hits'] date_result=[] for item in result: #计算距离日期 date_time=item['_source']['date_time'] year=ts2yeartime(today_datetime) warming_date=year+'-'+date_time today_date=ts2datetime(today_datetime) countdown_num=(datetime2ts(warming_date)-datetime2ts(today_date))/DAY if abs(countdown_num) < WARMING_DAY: #根据给定的关键词查询预警微博 keywords=item['_source']['keywords'] date_warming=lookup_weibo_date_warming(keywords,start_time,end_time) item['_source']['weibo_date_warming_content']=json.dumps(date_warming) item['_source']['validity']=0 item['_source']['timestamp']=datetime2ts(ts2datetime(today_datetime)) now_time=int(time.time()) task_id=str(item['_source']['date_time'])+'_'+ ts2datetime(today_datetime) #print 'task_id',task_id #写入数据库 weibo_timing_warning_index_name=weibo_timing_warning_index_name_pre+warming_date #print weibo_timing_warning_index_name mark = False if date_warming: if not es_xnr.indices.exists(index=weibo_timing_warning_index_name): weibo_timing_warning_mappings(weibo_timing_warning_index_name) #try: es_xnr.index(index=weibo_timing_warning_index_name,doc_type=weibo_timing_warning_index_type,body=item['_source'],id=task_id) mark=True #except: # mark=False # print 'write error!' else: pass date_result.append(mark) else: pass #except: # date_result=[] return date_result
def create_date_warning(today_datetime): query_body={ 'query':{ 'match_all':{} }, 'size':MAX_VALUE, 'sort':{'date_time':{'order':'asc'}} } try: result=es_xnr.search(index=weibo_date_remind_index_name,doc_type=weibo_date_remind_index_type,body=query_body)['hits']['hits'] date_result=[] for item in result: #计算距离日期 date_time=item['_source']['date_time'] year=ts2yeartime(today_datetime) warming_date=year+'-'+date_time today_date=ts2datetime(today_datetime) countdown_num=(datetime2ts(warming_date)-datetime2ts(today_date))/DAY if abs(countdown_num) < WARMING_DAY: #根据给定的关键词查询预警微博 # print 'date_time:',date_time keywords=item['_source']['keywords'] date_warming=lookup_facebook_date_warming(keywords,today_datetime) item['_source']['facebook_date_warming_content']=json.dumps(date_warming) item['_source']['validity']=0 item['_source']['timestamp']=today_datetime # task_id=str(item['_source']['create_time'])+'_'+str(today_datetime) task_id=date_time+'_'+str(today_datetime) #print 'task_id',task_id #print 'date_warming',date_warming print 'type:',type(item['_source']) #写入数据库 facebook_timing_warning_index_name=facebook_timing_warning_index_name_pre+warming_date if date_warming: print 'facebook_timing_warning_index_name:',facebook_timing_warning_index_name,task_id try: es_xnr.index(index=facebook_timing_warning_index_name,doc_type=facebook_timing_warning_index_type,body=item['_source'],id=task_id) mark=True except: mark=False else: pass date_result.append(mark) else: pass except: date_result=[] return date_result