Commit 6e35b198 authored by 段英荣's avatar 段英荣

add batch_recommend_user

parent bca7a7f0
...@@ -35,6 +35,7 @@ class UserUtils(object): ...@@ -35,6 +35,7 @@ class UserUtils(object):
self_attention_user_id_list = [] self_attention_user_id_list = []
attention_user_dict_list = list() attention_user_dict_list = list()
attention_user_id_list = list()
for hit_item in result_dict["hits"]: for hit_item in result_dict["hits"]:
attention_user_dict = dict() attention_user_dict = dict()
...@@ -47,11 +48,12 @@ class UserUtils(object): ...@@ -47,11 +48,12 @@ class UserUtils(object):
attention_user_dict[user_id] = attention_user_id_list attention_user_dict[user_id] = attention_user_id_list
attention_user_dict_list.append(attention_user_dict) attention_user_dict_list.append(attention_user_dict)
attention_user_id_list.append(user_id)
return [self_attention_user_id_list,attention_user_dict_list] return [self_attention_user_id_list,attention_user_dict_list,attention_user_id_list]
except: except:
logging.error("catch exception,err_msg:%s" % traceback.format_exc()) logging.error("catch exception,err_msg:%s" % traceback.format_exc())
return ([],[]) return ([],[],[])
@classmethod @classmethod
...@@ -179,7 +181,7 @@ class UserUtils(object): ...@@ -179,7 +181,7 @@ class UserUtils(object):
@classmethod @classmethod
def get_batch_recommend_user_dict(cls,need_filter_attention_user_id_list,attention_user_dict_list,self_user_id,offset,size): def get_batch_recommend_user_dict(cls,need_filter_attention_user_id_list,attention_user_id_list,attention_user_dict_list,self_user_id,offset,size):
""" """
:remark 获取批量推荐用户 :remark 获取批量推荐用户
:param need_filter_attention_user_id_list: :param need_filter_attention_user_id_list:
...@@ -261,6 +263,15 @@ class UserUtils(object): ...@@ -261,6 +263,15 @@ class UserUtils(object):
query_body += "{}\n{}\n".format(json.dumps(search_header_dict),json.dumps(query_item)) query_body += "{}\n{}\n".format(json.dumps(search_header_dict),json.dumps(query_item))
result_dict = ESPerform.get_search_results(ESPerform.get_cli(), sub_index_name="user", query_body=query_body, result_dict = ESPerform.get_search_results(ESPerform.get_cli(), sub_index_name="user", query_body=query_body,
batch_search=True) batch_search=True)
user_index = 0
for res_item in result_dict["responses"]:
recommend_user_list = list()
for item in res_item["hits"]["hits"]:
recommend_user_list.append(item["_source"]["user_id"])
result_dict[attention_user_id_list[user_index]] = recommend_user_list
user_index += 1
return result_dict return result_dict
except: except:
logging.error("catch exception,err_msg:%s" % traceback.format_exc()) logging.error("catch exception,err_msg:%s" % traceback.format_exc())
......
...@@ -38,7 +38,7 @@ def recommend_user(self_user_id,interesting_user_id,offset=0,size=10): ...@@ -38,7 +38,7 @@ def recommend_user(self_user_id,interesting_user_id,offset=0,size=10):
return recommend_user_list return recommend_user_list
except: except:
logging.error("catch exception,err_msg:%s" % traceback.format_exc()) logging.error("catch exception,err_msg:%s" % traceback.format_exc())
return {"recommend_user_ids":[]} return []
@bind("physical/search/batch_recommend_user") @bind("physical/search/batch_recommend_user")
def batch_recommend_user(self_user_id,interesting_user_id_list,offset=0,size=10): def batch_recommend_user(self_user_id,interesting_user_id_list,offset=0,size=10):
...@@ -55,19 +55,16 @@ def batch_recommend_user(self_user_id,interesting_user_id_list,offset=0,size=10) ...@@ -55,19 +55,16 @@ def batch_recommend_user(self_user_id,interesting_user_id_list,offset=0,size=10)
self_user_id = -1 self_user_id = -1
#获取关注用户列表 #获取关注用户列表
(need_filter_attention_user_id_list, attention_user_dict_list) = UserUtils.get_batch_attention_user_list(interesting_user_id_list,self_user_id) (need_filter_attention_user_id_list, attention_user_dict_list,attention_user_id_list) = UserUtils.get_batch_attention_user_list(interesting_user_id_list,self_user_id)
#去除自身及感兴趣的用户ID #去除自身及感兴趣的用户ID
need_filter_attention_user_id_list.append(self_user_id) need_filter_attention_user_id_list.append(self_user_id)
recommend_user_dict = UserUtils.get_batch_recommend_user_dict(need_filter_attention_user_id_list=need_filter_attention_user_id_list,attention_user_id_list=attention_user_id_list,attention_user_dict_list=attention_user_dict_list,
recommend_user_list = UserUtils.get_batch_recommend_user_dict(need_filter_attention_user_id_list=need_filter_attention_user_id_list,attention_user_dict_list=attention_user_dict_list,
self_user_id=self_user_id,offset=offset,size=size) self_user_id=self_user_id,offset=offset,size=size)
return recommend_user_dict
return recommend_user_list
except: except:
logging.error("catch exception,err_msg:%s" % traceback.format_exc()) logging.error("catch exception,err_msg:%s" % traceback.format_exc())
return {"recommend_user_ids":[]} return {}
\ No newline at end of file \ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment