Commit 990249a4 authored by lixiaofang's avatar lixiaofang

add

parent 2d02af24
...@@ -14,6 +14,7 @@ from trans2es.models.pictorial import PictorialTopics ...@@ -14,6 +14,7 @@ from trans2es.models.pictorial import PictorialTopics
from libs.cache import redis_client from libs.cache import redis_client
class TopicUtils(object): class TopicUtils(object):
@classmethod @classmethod
...@@ -34,7 +35,7 @@ class TopicUtils(object): ...@@ -34,7 +35,7 @@ class TopicUtils(object):
} }
q["_source"] = { q["_source"] = {
"include": ["tag_list", "attention_user_id_list", "pick_user_id_list", "same_pictorial_user_id_list"] "include": ["tag_list","attention_user_id_list", "pick_user_id_list", "same_pictorial_user_id_list"]
} }
result_dict = ESPerform.get_search_results(ESPerform.get_cli(), "user", q, offset, size) result_dict = ESPerform.get_search_results(ESPerform.get_cli(), "user", q, offset, size)
...@@ -106,7 +107,7 @@ class TopicUtils(object): ...@@ -106,7 +107,7 @@ class TopicUtils(object):
"includes": ["id", "pictorial_id", "offline_score", "user_id", "edit_tag_list"] "includes": ["id", "pictorial_id", "offline_score", "user_id", "edit_tag_list"]
} }
} }
result_dict = ESPerform.get_search_results(ESPerform.get_cli(), sub_index_name="topic-test", query_body=q, result_dict = ESPerform.get_search_results(ESPerform.get_cli(), sub_index_name="topic", query_body=q,
offset=offset, size=size) offset=offset, size=size)
topic_id_dict = dict() topic_id_dict = dict()
...@@ -125,8 +126,7 @@ class TopicUtils(object): ...@@ -125,8 +126,7 @@ class TopicUtils(object):
def get_recommend_topic_ids(cls, user_id, tag_id, offset, size, single_size, query=None, def get_recommend_topic_ids(cls, user_id, tag_id, offset, size, single_size, query=None,
query_type=TopicPageType.HOME_RECOMMEND, query_type=TopicPageType.HOME_RECOMMEND,
filter_topic_id_list=[], test_score=False, must_topic_id_list=[], recommend_tag_list=[], filter_topic_id_list=[], test_score=False, must_topic_id_list=[], recommend_tag_list=[],
user_similar_score_list=[], index_type="topic-test", routing=None, user_similar_score_list=[], index_type="topic", routing=None, attention_tag_list=[],
attention_tag_list=[],
linucb_user_id_list=[], disable_collpase=False): linucb_user_id_list=[], disable_collpase=False):
""" """
:remark:获取首页推荐帖子列表 :remark:获取首页推荐帖子列表
...@@ -174,18 +174,18 @@ class TopicUtils(object): ...@@ -174,18 +174,18 @@ class TopicUtils(object):
} }
] ]
if user_id and user_id > 0: if user_id and user_id>0:
redis_key_prefix = "physical:user_similar:participant_user_id:" redis_key_prefix = "physical:user_similar:participant_user_id:"
similar_redis_key = redis_key_prefix + str(user_id) similar_redis_key = redis_key_prefix + str(user_id)
redis_user_similar_data = redis_client.get(similar_redis_key) redis_user_similar_data = redis_client.get(similar_redis_key)
user_similar_list = json.loads(redis_user_similar_data) if redis_user_similar_data else [] user_similar_list = json.loads(redis_user_similar_data) if redis_user_similar_data else []
if len(user_similar_list) > 0: if len(user_similar_list)>0:
functions_list.extend(user_similar_list) functions_list.extend(user_similar_list)
if len(attention_user_id_list) > 0: if len(attention_user_id_list) > 0:
functions_list.append( functions_list.append(
{ {
"filter": {"constant_score": {"filter": {"terms": {"user_id": attention_user_id_list}}}}, "filter": {"constant_score":{"filter":{"terms": {"user_id": attention_user_id_list}}}},
"weight": 100, "weight": 100,
} }
) )
...@@ -272,7 +272,7 @@ class TopicUtils(object): ...@@ -272,7 +272,7 @@ class TopicUtils(object):
] ]
query_function_score["query"]["bool"]["minimum_should_match"] = 1 query_function_score["query"]["bool"]["minimum_should_match"] = 1
query_function_score["query"]["bool"]["filter"].append( query_function_score["query"]["bool"]["filter"].append(
{"range": {"content_level": {"gte": 3, "lte": 6}}} {"range": {"content_level": {"gte":3,"lte":6}}}
) )
else: else:
if "must_not" in query_function_score["query"]["bool"]: if "must_not" in query_function_score["query"]["bool"]:
...@@ -337,7 +337,7 @@ class TopicUtils(object): ...@@ -337,7 +337,7 @@ class TopicUtils(object):
@classmethod @classmethod
def userful_tag_topic_list(cls, user_id, have_read_topic_list, size, def userful_tag_topic_list(cls, user_id, have_read_topic_list, size,
index_type="topic-high-star", routing=None, useful_tag_list=[]): index_type="topic-high-star",routing=None,useful_tag_list =[]):
""" """
:remark 帖子详情页推荐列表,缺少按时间衰减 :remark 帖子详情页推荐列表,缺少按时间衰减
:param user_id: :param user_id:
...@@ -376,7 +376,7 @@ class TopicUtils(object): ...@@ -376,7 +376,7 @@ class TopicUtils(object):
{"term": {"is_online": True}}, {"term": {"is_online": True}},
{"term": {"is_deleted": False}}, {"term": {"is_deleted": False}},
{"terms": {"useful_tag_list": useful_tag_list}}, {"terms": {"useful_tag_list": useful_tag_list}},
{"term": {"content_level": 6}} {"term":{"content_level":6}}
], ],
"must_not": { "must_not": {
"terms": { "terms": {
...@@ -406,8 +406,7 @@ class TopicUtils(object): ...@@ -406,8 +406,7 @@ class TopicUtils(object):
"includes": ["id"] "includes": ["id"]
} }
result_dict = ESPerform.get_search_results(es_cli_obj, sub_index_name=index_type, query_body=q, result_dict = ESPerform.get_search_results(es_cli_obj, sub_index_name=index_type, query_body=q, size=size,
size=size,
routing=routing) routing=routing)
topic_id_list = list() topic_id_list = list()
...@@ -421,7 +420,7 @@ class TopicUtils(object): ...@@ -421,7 +420,7 @@ class TopicUtils(object):
@classmethod @classmethod
def get_topic_detail_recommend_list(cls, user_id, topic_id, topic_tag_list, topic_pictorial_id, topic_user_id, def get_topic_detail_recommend_list(cls, user_id, topic_id, topic_tag_list, topic_pictorial_id, topic_user_id,
filter_topic_user_id, have_read_topic_list, offset, size, es_cli_obj=None, filter_topic_user_id, have_read_topic_list, offset, size, es_cli_obj=None,
index_type="topic-test", routing=None): index_type="topic", routing=None):
""" """
:remark 帖子详情页推荐列表,缺少按时间衰减 :remark 帖子详情页推荐列表,缺少按时间衰减
:param user_id: :param user_id:
...@@ -507,7 +506,7 @@ class TopicUtils(object): ...@@ -507,7 +506,7 @@ class TopicUtils(object):
@classmethod @classmethod
def top_get_topic_detail_recommend_list(cls, user_id, topic_id, have_read_topic_list, size, es_cli_obj=None, def top_get_topic_detail_recommend_list(cls, user_id, topic_id, have_read_topic_list, size, es_cli_obj=None,
index_type="topic-test", routing=None, collection_topic_tag_list=[], index_type="topic", routing=None, collection_topic_tag_list=[],
topic_tag_list=[], topic_tag_list=[],
topic_user_id=-1): topic_user_id=-1):
""" """
...@@ -653,7 +652,7 @@ class TopicUtils(object): ...@@ -653,7 +652,7 @@ class TopicUtils(object):
"includes": [TopicDocumentField.TAG_LIST] "includes": [TopicDocumentField.TAG_LIST]
} }
result_dict = ESPerform.get_search_results(es_cli_obj, sub_index_name="topic-test", query_body=q, size=1) result_dict = ESPerform.get_search_results(es_cli_obj, sub_index_name="topic", query_body=q, size=1)
tag_id_list = [] tag_id_list = []
if len(result_dict["hits"]) > 0: if len(result_dict["hits"]) > 0:
...@@ -749,7 +748,7 @@ class TopicUtils(object): ...@@ -749,7 +748,7 @@ class TopicUtils(object):
} }
] ]
result_dict = ESPerform.get_search_results(ESPerform.get_cli(), sub_index_name="topic-test", query_body=q, result_dict = ESPerform.get_search_results(ESPerform.get_cli(), sub_index_name="topic", query_body=q,
offset=offset, size=size) offset=offset, size=size)
return result_dict["hits"] return result_dict["hits"]
...@@ -929,35 +928,7 @@ class TopicUtils(object): ...@@ -929,35 +928,7 @@ class TopicUtils(object):
"order": "desc" "order": "desc"
}, },
}) })
elif sort_by == TOPIC_SEARCH_SORT.REAL_VOTE_AEC:
sort_rule.append({
"related_billboard.real_vote_cnt": {
"order": "asc",
"nested_path": "related_billboard"
},
})
elif sort_by == TOPIC_SEARCH_SORT.REAL_VOTE_DESC:
sort_rule.append({
"related_billboard.real_vote_cnt": {
"order": "desc",
"nested_path": "related_billboard"
},
})
elif sort_by == TOPIC_SEARCH_SORT.VIRT_VOTE_AEC:
sort_rule.append({
"related_billboard.virt_vote_cnt": {
"order": "asc",
"nested_path": "related_billboard"
},
})
elif sort_by == TOPIC_SEARCH_SORT.VIRT_VOTE_DESC:
sort_rule.append({
"related_billboard.virt_vote_cnt": {
"order": "desc",
"nested_path": "related_billboard"
},
})
return sort_rule return sort_rule
@classmethod @classmethod
...@@ -1005,6 +976,7 @@ class TopicUtils(object): ...@@ -1005,6 +976,7 @@ class TopicUtils(object):
def business_topic_ids(cls, filters, nfilters, sorts_by, offset=0, size=10, index_name="topic", filter_online=True): def business_topic_ids(cls, filters, nfilters, sorts_by, offset=0, size=10, index_name="topic", filter_online=True):
must = cls.business_filters(filters, filter_online=filter_online) must = cls.business_filters(filters, filter_online=filter_online)
logging.info("get must:%s" % must)
q = { q = {
"query": { "query": {
"bool": { "bool": {
...@@ -1100,24 +1072,6 @@ class TopicUtils(object): ...@@ -1100,24 +1072,6 @@ class TopicUtils(object):
} }
} }
}) })
# elif k == "pictorial_id":
# f.append({
# "nested": {
# "path": "related_billboard",
# "query": {
# "bool": {
# "must": [
# {
# "term": {
# "related_billboard.pictorial_id": v
# }
# }
# ]
# }
# }
# }
# })
else: else:
if isinstance(v, list): if isinstance(v, 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