Commit 90f98311 authored by 段英荣's avatar 段英荣

add query_topic_by_user_similarity

parent f3b78a5d
...@@ -90,7 +90,7 @@ class TopicUtils(object): ...@@ -90,7 +90,7 @@ class TopicUtils(object):
return [] return []
@classmethod @classmethod
def get_recommend_topic_ids(cls,user_id,offset,size,query=None,query_type=TopicPageType.FIND_PAGE,filter_topic_id_list=[]): def get_recommend_topic_ids(cls,user_id,offset,size,query=None,query_type=TopicPageType.FIND_PAGE,filter_topic_id_list=[],must_topic_id_list=[]):
""" """
:需增加打散逻辑 :需增加打散逻辑
:remark:获取首页推荐帖子列表 :remark:获取首页推荐帖子列表
...@@ -200,6 +200,12 @@ class TopicUtils(object): ...@@ -200,6 +200,12 @@ class TopicUtils(object):
"boost_mode": "sum", "boost_mode": "sum",
"functions": functions_list "functions": functions_list
} }
if len(must_topic_id_list) > 0:
query_function_score["query"]["bool"]["must"] = {
"terms":{
"id": must_topic_id_list
}
}
if query_type==TopicPageType.FIND_PAGE and len(filter_topic_id_list)>0: if query_type==TopicPageType.FIND_PAGE and len(filter_topic_id_list)>0:
query_function_score["query"]["bool"]["must_not"] = { query_function_score["query"]["bool"]["must_not"] = {
"terms":{ "terms":{
......
...@@ -254,3 +254,21 @@ def query_topic_by_tag_aggregation(user_id,tag_id, offset, size): ...@@ -254,3 +254,21 @@ def query_topic_by_tag_aggregation(user_id,tag_id, offset, size):
return {"recommend_topic_id": []} return {"recommend_topic_id": []}
@bind("physical/search/query_topic_by_user_similarity")
def query_topic_by_user_similarity(topic_similarity_score_dict, offset=0, size=10):
"""
:remark 按帖子所属用户相似度召回帖子
:param tag_id:
:param offset:
:param size:
:return:
"""
try:
must_topic_id_list = topic_similarity_score_dict.keys()
topic_id_dict = TopicUtils.get_recommend_topic_ids(user_id=-1, offset=offset, size=size,must_topic_id_list=must_topic_id_list)
recommend_topic_ids = topic_id_dict.keys()
return {"recommend_topic_ids":recommend_topic_ids}
except:
logging.error("catch exception,err_msg:%s" % traceback.format_exc())
return {"recommend_topic_id": []}
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