Commit a1666a10 authored by lixiaofang's avatar lixiaofang

add

parent 61773f29
...@@ -24,5 +24,29 @@ ...@@ -24,5 +24,29 @@
<option name="ITERATION_ELEMENTS_WRAPPING" value="chop_down_if_not_single" /> <option name="ITERATION_ELEMENTS_WRAPPING" value="chop_down_if_not_single" />
</formatting-settings> </formatting-settings>
</DBN-SQL> </DBN-SQL>
<DBN-PSQL>
<case-options enabled="false">
<option name="KEYWORD_CASE" value="lower" />
<option name="FUNCTION_CASE" value="lower" />
<option name="PARAMETER_CASE" value="lower" />
<option name="DATATYPE_CASE" value="lower" />
<option name="OBJECT_CASE" value="preserve" />
</case-options>
<formatting-settings enabled="false" />
</DBN-PSQL>
<DBN-SQL>
<case-options enabled="false">
<option name="KEYWORD_CASE" value="lower" />
<option name="FUNCTION_CASE" value="lower" />
<option name="PARAMETER_CASE" value="lower" />
<option name="DATATYPE_CASE" value="lower" />
<option name="OBJECT_CASE" value="preserve" />
</case-options>
<formatting-settings enabled="false">
<option name="STATEMENT_SPACING" value="one_line" />
<option name="CLAUSE_CHOP_DOWN" value="chop_down_if_statement_long" />
<option name="ITERATION_ELEMENTS_WRAPPING" value="chop_down_if_not_single" />
</formatting-settings>
</DBN-SQL>
</code_scheme> </code_scheme>
</component> </component>
\ No newline at end of file
...@@ -47,8 +47,7 @@ class GroupUtils(object): ...@@ -47,8 +47,7 @@ class GroupUtils(object):
return {"total_count": 0, "hits": []} return {"total_count": 0, "hits": []}
@classmethod @classmethod
def get_hot_pictorial_recommend_result_list(cls, offset, size, es_cli_obj=None, attention_tag_list=[], def get_hot_pictorial_recommend_result_list(cls, offset, size, es_cli_obj=None, attention_tag_list=[]):
have_read_pictorial_id_list=[]):
try: try:
if not es_cli_obj: if not es_cli_obj:
es_cli_obj = ESPerform.get_cli() es_cli_obj = ESPerform.get_cli()
...@@ -124,10 +123,6 @@ class GroupUtils(object): ...@@ -124,10 +123,6 @@ class GroupUtils(object):
q["_source"] = { q["_source"] = {
"includes": ["id"] "includes": ["id"]
} }
if have_read_pictorial_id_list:
q["query"]["function_score"]["query"]["bool"]["must_not"].append(
{"terms": {"id": have_read_pictorial_id_list}})
result_dict = ESPerform.get_search_results(es_cli_obj, "pictorial", q, offset, size) result_dict = ESPerform.get_search_results(es_cli_obj, "pictorial", q, offset, size)
pictorial_ids_list = [] pictorial_ids_list = []
......
...@@ -54,30 +54,30 @@ def pictorial_sort(user_id=-1, sort_type=GroupSortTypes.HOT_RECOMMEND, offset=0, ...@@ -54,30 +54,30 @@ def pictorial_sort(user_id=-1, sort_type=GroupSortTypes.HOT_RECOMMEND, offset=0,
if not isinstance(user_id, int): if not isinstance(user_id, int):
user_id = -1 user_id = -1
if not isinstance(device_id, str): # if not isinstance(device_id, str):
device_id = "" # device_id = ""
#
now = datetime.datetime.now().date() # now = datetime.datetime.now().date()
yes_time = now - datetime.timedelta(days=10) # yes_time = now - datetime.timedelta(days=10)
""" # """
过滤近10天读过的数据 # 过滤近10天读过的数据
""" # """
redis_key = "" # redis_key = ""
have_read_pictorial_id_list = set() # have_read_pictorial_id_list = set()
if device_id: # if device_id:
redis_key = "physical:home_recommend_pictorial" + ":device_id:" + str(device_id) # redis_key = "physical:home_recommend_pictorial" + ":device_id:" + str(device_id)
redis_question_val_list = redis_client.hgetall(redis_key) # redis_question_val_list = redis_client.hgetall(redis_key)
for item in redis_question_val_list: # for item in redis_question_val_list:
items = item.decode(encoding='utf-8') # items = item.decode(encoding='utf-8')
# 先删除10天前的 # # 先删除10天前的
if items < str(yes_time): # if items < str(yes_time):
redis_client.hdel(redis_key, item) # redis_client.hdel(redis_key, item)
# 获取近10天的读过的榜单 # # 获取近10天的读过的榜单
else: # else:
value = redis_question_val_list.get(item, None).decode(encoding='utf-8') # value = redis_question_val_list.get(item, None).decode(encoding='utf-8')
for pictorial_id in value: # for pictorial_id in value:
have_read_pictorial_id_list.add(pictorial_id) # have_read_pictorial_id_list.add(pictorial_id)
logging.info("get have_read_tractate_id_list:%s" % have_read_pictorial_id_list) # logging.info("get have_read_tractate_id_list:%s" % have_read_pictorial_id_list)
# 获取es链接对象 # 获取es链接对象
es_cli_obj = ESPerform.get_cli() es_cli_obj = ESPerform.get_cli()
...@@ -89,23 +89,20 @@ def pictorial_sort(user_id=-1, sort_type=GroupSortTypes.HOT_RECOMMEND, offset=0, ...@@ -89,23 +89,20 @@ def pictorial_sort(user_id=-1, sort_type=GroupSortTypes.HOT_RECOMMEND, offset=0,
attention_tag_list = json.loads(redis_tag_data) if redis_tag_data else [] attention_tag_list = json.loads(redis_tag_data) if redis_tag_data else []
pictorial_ids_list = GroupUtils.get_hot_pictorial_recommend_result_list(offset, size, es_cli_obj, pictorial_ids_list = GroupUtils.get_hot_pictorial_recommend_result_list(offset, size, es_cli_obj,
attention_tag_list, attention_tag_list) #
have_read_pictorial_id_list) # logging.info("get pictorial_ids_list:%s" % pictorial_ids_list)
#
logging.info("get pictorial_ids_list:%s" % pictorial_ids_list) # """
# 增加已读过滤
""" # """
增加已读过滤 #
""" # if len(pictorial_ids_list) > 0:
# if redis_key:
if len(pictorial_ids_list) > 0: # for id in pictorial_ids_list:
if redis_key: # have_read_pictorial_id_list.append(id)
for id in pictorial_ids_list: # redis_client.hset(redis_key, now, json.dumps(have_read_pictorial_id_list))
have_read_pictorial_id_list.append(id)
redis_client.hset(redis_key, now, json.dumps(have_read_pictorial_id_list))
return {"pictorial_recommend_ids": pictorial_ids_list} return {"pictorial_recommend_ids": pictorial_ids_list}
elif sort_type == GroupSortTypes.ATTENTION_RECOMMEND: elif sort_type == GroupSortTypes.ATTENTION_RECOMMEND:
attention_pictorial_list = GroupUtils.get_user_attention_pictorial_list(user_id, offset=0, size=1, attention_pictorial_list = GroupUtils.get_user_attention_pictorial_list(user_id, offset=0, size=1,
es_cli_obj=es_cli_obj) es_cli_obj=es_cli_obj)
...@@ -114,7 +111,6 @@ def pictorial_sort(user_id=-1, sort_type=GroupSortTypes.HOT_RECOMMEND, offset=0, ...@@ -114,7 +111,6 @@ def pictorial_sort(user_id=-1, sort_type=GroupSortTypes.HOT_RECOMMEND, offset=0,
else: else:
attention_pictorial_id_list = [item["pictorial_id"] for item in attention_pictorial_list] attention_pictorial_id_list = [item["pictorial_id"] for item in attention_pictorial_list]
sorted_pictorial_ids_list = GroupUtils.get_pictorial_ids_by_aggs(attention_pictorial_id_list, sorted_pictorial_ids_list = GroupUtils.get_pictorial_ids_by_aggs(attention_pictorial_id_list,
es_cli_obj) es_cli_obj)
...@@ -125,14 +121,14 @@ def pictorial_sort(user_id=-1, sort_type=GroupSortTypes.HOT_RECOMMEND, offset=0, ...@@ -125,14 +121,14 @@ def pictorial_sort(user_id=-1, sort_type=GroupSortTypes.HOT_RECOMMEND, offset=0,
for item in sorted_attention_pictorial_list: for item in sorted_attention_pictorial_list:
if item["pictorial_id"] not in pictorial_recommend_ids_list: if item["pictorial_id"] not in pictorial_recommend_ids_list:
pictorial_recommend_ids_list.append(item["pictorial_id"]) pictorial_recommend_ids_list.append(item["pictorial_id"])
""" # """
增加已读过滤 # 增加已读过滤
""" # """
if len(pictorial_recommend_ids_list[offset:(offset + size)]) > 0: # if len(pictorial_recommend_ids_list[offset:(offset + size)]) > 0:
if redis_key: # if redis_key:
for id in pictorial_recommend_ids_list[offset:(offset + size)]: # for id in pictorial_recommend_ids_list[offset:(offset + size)]:
have_read_pictorial_id_list.append(id) # have_read_pictorial_id_list.append(id)
redis_client.hset(redis_key, now, json.dumps(have_read_pictorial_id_list)) # redis_client.hset(redis_key, now, json.dumps(have_read_pictorial_id_list))
return {"pictorial_recommend_ids": pictorial_recommend_ids_list[offset:(offset + size)]} return {"pictorial_recommend_ids": pictorial_recommend_ids_list[offset:(offset + size)]}
...@@ -444,6 +440,7 @@ def pictorial_activity_sort(activity_id=0, offset=0, size=10, sort_type=1): ...@@ -444,6 +440,7 @@ def pictorial_activity_sort(activity_id=0, offset=0, size=10, sort_type=1):
q["sort"] = process_sort(sort_type) q["sort"] = process_sort(sort_type)
es_cli_obj = ESPerform.get_cli() es_cli_obj = ESPerform.get_cli()
result_dict = ESPerform.get_search_results(es_cli_obj, "pictorial", q, offset, size) result_dict = ESPerform.get_search_results(es_cli_obj, "pictorial", q, offset, size)
result_dicts = ESPerform.get_search_results(es_cli_obj, "pictorial", q, offset, size)
if len(result_dict["hits"]) > 0: if len(result_dict["hits"]) > 0:
for item in result_dict["hits"]: for item in result_dict["hits"]:
...@@ -451,9 +448,11 @@ def pictorial_activity_sort(activity_id=0, offset=0, size=10, sort_type=1): ...@@ -451,9 +448,11 @@ def pictorial_activity_sort(activity_id=0, offset=0, size=10, sort_type=1):
vote_num = item["_source"]["topic_vote_number"] vote_num = item["_source"]["topic_vote_number"]
pictorial_ids_list.append({"pictorial_id": pictorial_id, "vote_num": vote_num}) pictorial_ids_list.append({"pictorial_id": pictorial_id, "vote_num": vote_num})
redis_client.set(redis_key, json.dumps(pictorial_ids_list)) redis_client.set(redis_key, json.dumps(pictorial_ids_list))
else: else:
redis_field_val_list = redis_client.get(redis_key) redis_field_val_list = redis_client.get(redis_key)
pictorial_ids_list = json.loads(str(redis_field_val_list, encoding="utf-8")) pictorial_ids_list_all = json.loads(str(redis_field_val_list, encoding="utf-8"))
pictorial_ids_list = pictorial_ids_list_all[offset:offset + size]
return {"pictorial_activity_sort": pictorial_ids_list} return {"pictorial_activity_sort": pictorial_ids_list}
......
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