Commit 0d63506b authored by 段英荣's avatar 段英荣

Merge branch 'test' into 'master'

Test

See merge request !229
parents 6bee61e3 cdde760f
...@@ -47,69 +47,35 @@ class GroupUtils(object): ...@@ -47,69 +47,35 @@ 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): def get_hot_pictorial_recommend_result_list(cls,offset,size,es_cli_obj=None):
try: try:
if not es_cli_obj: if not es_cli_obj:
es_cli_obj = ESPerform.get_cli() es_cli_obj = ESPerform.get_cli()
q = dict() q = dict()
q["query"] = { q["query"] = {
"bool": { "bool":{
"must": [ "must":[
{"term": {"is_online": True}}, {"term": {"is_online": True}},
{"term": {"is_deleted": False}} {"term":{"is_deleted": False}},
{"term": {"effective": True}}
] ]
} }
} }
q["sort"] = [ q["sort"] = [
{"high_quality_topic_num": {"order": "desc"}} {"high_quality_topic_num":{"order":"desc"}}
] ]
q["_source"] = { q["_source"] = {
"includes": ["id"] "includes":["id"]
} }
MAX_LOAD = 1000
sizes = max(size, MAX_LOAD) 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=0, size=sizes)
pictorial_ids_list = [] pictorial_ids_list = []
if len(result_dict["hits"]) > 0: if len(result_dict["hits"]) > 0:
pictorial_ids_list = [item["_source"]["id"] for item in result_dict["hits"]] pictorial_ids_list = [item["_source"]["id"] for item in result_dict["hits"]]
pictorial_del_ids_list = [] return pictorial_ids_list
if len(pictorial_ids_list) > 0:
for id in pictorial_ids_list:
q = {
"query": {
"bool": {
"must": [{
"term": {
"pictorial_id": id
}
}, {
"terms": {
"content_level": [3, 4, 5, 0]
}
}, {
"term": {
"is_online": True
}
}]
}
}
}
topic_ids_list = []
result_dict = ESPerform.get_search_results(es_cli_obj, "topic", q, offset=0, size=sizes)
if len(result_dict["hits"]) > 0:
topic_ids_list = [item["_source"]["id"] for item in result_dict["hits"]]
if len(topic_ids_list) > 5:
pictorial_del_ids_list.append(id)
return pictorial_del_ids_list[offset:(offset+size)]
else:
return []
except: except:
logging.error("catch exception,err_msg:%s" % traceback.format_exc()) logging.error("catch exception,err_msg:%s" % traceback.format_exc())
return [] return []
...@@ -130,54 +96,18 @@ class GroupUtils(object): ...@@ -130,54 +96,18 @@ class GroupUtils(object):
"must": [ "must": [
{"term": {"is_online": True}}, {"term": {"is_online": True}},
{"term": {"user_id": user_id}}, {"term": {"user_id": user_id}},
{"term": {"is_deleted": False}} {"term": {"is_deleted": False}},
{"term":{"effective":True}}
] ]
} }
} }
q["_source"] = { q["_source"] = {
"includes": ["attention_pictorial_id_list"] "includes": ["attention_pictorial_id_list"]
} }
MAX_LOAD = 1000
sizes = max(size, MAX_LOAD)
result_dict = ESPerform.get_search_results(es_cli_obj, "user", q, offset=0, size=sizes) result_dict = ESPerform.get_search_results(es_cli_obj, "user", q, offset, size)
pictorial_ids_list = []
if len(result_dict["hits"]) > 0: if len(result_dict["hits"]) > 0:
pictorial_ids_list = result_dict["hits"][0]["_source"]["attention_pictorial_id_list"] return result_dict["hits"][0]["_source"]["attention_pictorial_id_list"]
pictorial_del_ids_list = []
if len(pictorial_ids_list) > 0:
for id in pictorial_ids_list:
q = {
"query": {
"bool": {
"must": [{
"term": {
"pictorial_id": id
}
}, {
"terms": {
"content_level": [3, 4, 5, 0]
}
}, {
"term": {
"is_online": True
}
}]
}
}
}
topic_ids_list = []
result_dict = ESPerform.get_search_results(es_cli_obj, "topic", q, offset=0, size=sizes)
if len(result_dict["hits"]) > 0:
topic_ids_list = [item["_source"]["id"] for item in result_dict["hits"]]
if len(topic_ids_list) > 5:
pictorial_del_ids_list.append(id)
return pictorial_del_ids_list[offset:(offset+size)]
else: else:
return [] return []
...@@ -185,6 +115,7 @@ class GroupUtils(object): ...@@ -185,6 +115,7 @@ class GroupUtils(object):
logging.error("catch exception,err_msg:%s" % traceback.format_exc()) logging.error("catch exception,err_msg:%s" % traceback.format_exc())
return [] return []
@classmethod @classmethod
def get_pictorial_ids_by_aggs(cls, pictorial_ids_list, es_cli_obj=None): def get_pictorial_ids_by_aggs(cls, pictorial_ids_list, es_cli_obj=None):
""" """
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
"update_time":{"type":"date", "format":"date_time_no_millis"}, "update_time":{"type":"date", "format":"date_time_no_millis"},
"tag_id":{"type":"long"}, "tag_id":{"type":"long"},
"tag_name":{"type":"text","analyzer":"gm_default_index","search_analyzer":"gm_default_index"}, "tag_name":{"type":"text","analyzer":"gm_default_index","search_analyzer":"gm_default_index"},
"topic_id_list":{"type":"long"} "topic_id_list":{"type":"long"},
"effective":{"type":"boolean"}
} }
} }
\ No newline at end of file
...@@ -72,6 +72,19 @@ class Pictorial(models.Model): ...@@ -72,6 +72,19 @@ class Pictorial(models.Model):
logging.error("catch exception,err_msg:%s" % traceback.format_exc()) logging.error("catch exception,err_msg:%s" % traceback.format_exc())
return False return False
def get_effective(self,topic_id_list):
try:
topic_id_list = Topic.objects.filter(id__in=topic_id_list,content_level__in=[3,4,5,0],is_online=True).count()
if topic_id_list >= 5:
return True
else:
return False
except:
logging.error("catch exception,err_msg:%s" % traceback.format_exc())
return False
# 获取前一天4,5星发帖数 # 获取前一天4,5星发帖数
def get_high_quality_topic_num(self): def get_high_quality_topic_num(self):
try: try:
......
...@@ -37,6 +37,7 @@ class PictorialTransfer(object): ...@@ -37,6 +37,7 @@ class PictorialTransfer(object):
res["tag_id"] = tag_id res["tag_id"] = tag_id
res["tag_name"] = instance.get_tag_by_name(tag_id) res["tag_name"] = instance.get_tag_by_name(tag_id)
res["topic_id_list"] =instance.get_topic_id() res["topic_id_list"] =instance.get_topic_id()
res["effective"] = instance.get_effective(res["topic_id_list"])
return res return res
except: except:
......
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