Commit bc93476d authored by lixiaofang's avatar lixiaofang

add

parent 19f3ba37
......@@ -10,10 +10,11 @@ from libs.es import ESPerform
from search.utils.pick import PickUtils
from search.utils.common import PickType
@bind("physical/search/pick_celebrity")
def pick_celebrity(user_id,pick_id,offset=0,size=10):
def pick_celebrity(user_id, pick_id, offset=0, size=10):
try:
if not isinstance(user_id,int):
if not isinstance(user_id, int):
user_id = -1
have_read_pick_celebrity_ids = list()
......@@ -30,23 +31,24 @@ def pick_celebrity(user_id,pick_id,offset=0,size=10):
logging.error("catch exception,err_msg:%s" % traceback.format_exc())
pass
recommend_pick_celebrity_list = PickUtils.get_recommend_celebrity_id_list(pick_id,have_read_pick_celebrity_ids,offset,size)
recommend_pick_celebrity_list = PickUtils.get_recommend_celebrity_id_list(pick_id, have_read_pick_celebrity_ids,
offset, size)
if len(recommend_pick_celebrity_list)>0 and user_id!=-1:
if len(recommend_pick_celebrity_list) > 0 and user_id != -1:
total_read_celebrity_ids = have_read_pick_celebrity_ids + recommend_pick_celebrity_list
PickUtils.refresh_redis_data(have_read_celebrity_list=total_read_celebrity_ids,
redis_cli=redis_client,redis_key=redis_key)
redis_cli=redis_client, redis_key=redis_key)
return {"recommend_pick_celebrity_ids": recommend_pick_celebrity_list}
except:
logging.error("catch exception,err_msg:%s" % traceback.format_exc())
return {"recommend_pick_celebrity_ids":[]}
return {"recommend_pick_celebrity_ids": []}
@bind("physical/search/pick_topic")
def pick_topic(user_id,pick_id,offset=0,size=10):
def pick_topic(user_id, pick_id, offset=0, size=10):
try:
if not isinstance(user_id,int):
if not isinstance(user_id, int):
user_id = -1
have_read_pick_topic_ids = list()
......@@ -88,10 +90,10 @@ def pick_topic(user_id,pick_id,offset=0,size=10):
]
query_function_score = {
"query":{
"bool":{
"must":[
{"term":{"pick_id_list":pick_id}},
"query": {
"bool": {
"must": [
{"term": {"pick_id_list": pick_id}},
{"range": {"content_level": {"gte": 3, "lte": 5}}}
],
"must_not": {
......@@ -103,38 +105,39 @@ def pick_topic(user_id,pick_id,offset=0,size=10):
},
"score_mode": "sum",
"boost_mode": "replace",
"functions":functions_list
"functions": functions_list
}
q["query"] = {
"function_score":query_function_score
"function_score": query_function_score
}
q["sort"] = [
"_score"
]
q["_source"] = {
"includes":["id"]
"includes": ["id"]
}
result_dict = ESPerform.get_search_results(ESPerform.get_cli(),sub_index_name="topic",query_body=q,offset=offset,size=size)
result_dict = ESPerform.get_search_results(ESPerform.get_cli(), sub_index_name="topic", query_body=q,
offset=offset, size=size)
recommend_pick_topic_list = []
if len(result_dict["hits"]) > 0:
recommend_pick_topic_list = [item["_source"]["id"] for item in result_dict["hits"]]
if len(recommend_pick_topic_list)>0 and user_id!=-1:
if len(recommend_pick_topic_list) > 0 and user_id != -1:
total_read_topic_ids = have_read_pick_topic_ids + recommend_pick_topic_list
PickUtils.refresh_redis_data(have_read_celebrity_list=total_read_topic_ids,
redis_cli=redis_client,redis_key=redis_key,if_expire=False)
redis_cli=redis_client, redis_key=redis_key, if_expire=False)
return {"recommend_pick_topic_ids": recommend_pick_topic_list}
except:
logging.error("catch exception,err_msg:%s" % traceback.format_exc())
return {"recommend_pick_topic_ids":[]}
return {"recommend_pick_topic_ids": []}
@bind("physical/search/pick_query")
def pick_query(query="",pick_id=-1,query_type=PickType.TOPIC_PICK,offset=0,size=10):
def pick_query(query="", pick_id=-1, query_type=PickType.TOPIC_PICK, offset=0, size=10):
"""
:remark 榜单搜索
:param query:
......@@ -147,15 +150,11 @@ def pick_query(query="",pick_id=-1,query_type=PickType.TOPIC_PICK,offset=0,size=
try:
pick_query_result_list = []
if query_type == PickType.TOPIC_PICK:
pick_query_result_list = PickUtils.get_topic_pick_query(query,pick_id,offset,size)
pick_query_result_list = PickUtils.get_topic_pick_query(query, pick_id, offset, size)
elif query_type == PickType.CELEBRITY_PICK:
pick_query_result_list = PickUtils.get_celebrity_pick_query(query,pick_id,offset,size)
pick_query_result_list = PickUtils.get_celebrity_pick_query(query, pick_id, offset, size)
return {"pick_query_result_list":pick_query_result_list}
return {"pick_query_result_list": pick_query_result_list}
except:
logging.error("catch exception,err_msg:%s" % traceback.format_exc())
return {"pick_query_result_list":[]}
return {"pick_query_result_list": []}
This diff is collapsed.
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