Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
P
physical
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
alpha
physical
Commits
1d0021b8
Commit
1d0021b8
authored
6 years ago
by
Kai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
tencent
parent
5165bfc2
master
deploy/like-prod
deploy/like-stage
deploy/like-test
dev
like-pre/r01
test
1 merge request
!302
Master
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
69 additions
and
14 deletions
+69
-14
topic.py
search/views/topic.py
+69
-14
No files found.
search/views/topic.py
View file @
1d0021b8
...
@@ -265,7 +265,56 @@ def topic_detail_page_recommend(device_id="", user_id=-1, topic_id=-1, topic_pic
...
@@ -265,7 +265,56 @@ def topic_detail_page_recommend(device_id="", user_id=-1, topic_id=-1, topic_pic
try
:
try
:
if
not
isinstance
(
user_id
,
int
):
if
not
isinstance
(
user_id
,
int
):
user_id
=
-
1
user_id
=
-
1
if
user_id
>
0
:
redis_key
=
"physical:topic_detail_recommend"
+
":user_id:"
+
str
(
user_id
)
+
"topic_id:"
+
str
(
topic_id
)
else
:
redis_key
=
"physical:topic_detail_recommend"
+
":device_id:"
+
device_id
+
"topic_id:"
+
str
(
topic_id
)
if
int
(
offset
)
==
0
:
have_read_topic_list
=
list
()
# redis_dict = {
# "have_read_topic_id": json.dumps(have_read_topic_list)
# }
redis_client
.
delete
(
redis_key
)
# redis_client.expire(redis_key, 60 * 60 * 24)
else
:
have_read_topic_list
=
list
()
redis_field_list
=
[
b
'have_read_topic_list'
]
have_read_topic_redis_data
=
redis_client
.
hmget
(
redis_key
,
redis_field_list
)
have_read_topic_list
=
json
.
loads
(
have_read_topic_redis_data
[
0
])
if
have_read_topic_redis_data
[
0
]
else
[]
es_cli_obj
=
ESPerform
.
get_cli
()
have_read_topic_list
.
append
(
topic_id
)
topic_user_result
=
list
()
topic_tag_result
=
list
()
result
=
list
()
if
len
(
topic_tag_list
)
!=
0
:
topic_tag_result
=
TopicUtils
.
top_get_topic_detail_recommend_list
(
user_id
,
topic_id
,
have_read_topic_list
,
size
,
es_cli_obj
,
index_type
=
"topic"
,
routing
=
"4,5,6"
,
topic_tag_list
=
topic_tag_list
)
topic_tag_size
=
len
(
topic_tag_result
)
have_read_topic_list
.
extend
(
topic_tag_result
)
else
:
topic_tag_size
=
0
if
topic_tag_size
<
size
:
size
=
size
-
topic_tag_size
if
topic_user_id
!=
-
1
:
topic_user_result
=
TopicUtils
.
top_get_topic_detail_recommend_list
(
user_id
,
topic_id
,
have_read_topic_list
,
size
,
es_cli_obj
,
index_type
=
"topic"
,
routing
=
"4,5,6"
,
topic_user_id
=
topic_user_id
)
topic_user_size
=
len
(
topic_user_result
)
have_read_topic_list
.
extend
(
topic_user_result
)
if
topic_user_size
<
size
:
size
=
size
-
topic_user_size
result
=
TopicUtils
.
top_get_topic_detail_recommend_list
(
user_id
,
topic_id
,
have_read_topic_list
,
size
,
es_cli_obj
,
index_type
=
"topic"
,
routing
=
"4,5,6"
)
have_read_topic_list
.
extend
(
result
)
# have_read_topic_redis_data = redis_client.get(redis_key)
# have_read_topic_list = json.loads(have_read_topic_redis_data) if have_read_topic_redis_data else []
#
# redis_key = "physical:topic_detail_page_recommend" + ":user_id:" + str(user_id) + ":device_id:" + str(device_id)
# redis_key = "physical:topic_detail_page_recommend" + ":user_id:" + str(user_id) + ":device_id:" + str(device_id)
# have_read_topic_redis_data = redis_client.get(redis_key)
# have_read_topic_redis_data = redis_client.get(redis_key)
# have_read_topic_list = json.loads(have_read_topic_redis_data) if have_read_topic_redis_data else []
# have_read_topic_list = json.loads(have_read_topic_redis_data) if have_read_topic_redis_data else []
...
@@ -279,21 +328,27 @@ def topic_detail_page_recommend(device_id="", user_id=-1, topic_id=-1, topic_pic
...
@@ -279,21 +328,27 @@ def topic_detail_page_recommend(device_id="", user_id=-1, topic_id=-1, topic_pic
# result_list = TopicUtils.get_topic_detail_recommend_list(user_id, topic_id, topic_tag_list, topic_pictorial_id,
# result_list = TopicUtils.get_topic_detail_recommend_list(user_id, topic_id, topic_tag_list, topic_pictorial_id,
# topic_user_id, filter_topic_user_id,
# topic_user_id, filter_topic_user_id,
# have_read_topic_list, offset, size, es_cli_obj,index_type="topic",routing="4,5,6")
# have_read_topic_list, offset, size, es_cli_obj,index_type="topic",routing="4,5,6")
result_list
=
TopicUtils
.
get_recommend_topic_ids
(
user_id
,
tag_id
=-
1
,
single_size
=
size
,
offset
=
offset
,
size
=
size
,
# result_list = TopicUtils.get_recommend_topic_ids(user_id, tag_id=-1, single_size=size, offset=offset, size=size,
topic_user_id
=
topic_user_id
,
current_topic_id
=
topic_id
,
# topic_user_id=topic_user_id, current_topic_id=topic_id,
topic_tag_list
=
topic_tag_list
)
# topic_tag_list=topic_tag_list)
recommend_topic_ids_list
=
list
()
# if len(result_list) > 0:
# recommend_topic_ids_list = [item["_source"]["id"] for item in result_list]
recommend_topic_ids_list
.
extend
(
result_list
)
#
# have_read_topic_list.extend(recommend_topic_ids_list)
#
#
# have_read_topic_len = len(have_read_topic_list)
# user_recommend_list = TopicUtils.get_recommend_topic_ids(user_id, tag_id=-1, single_size=size, offset=offset, size=size,
# if have_read_topic_len > 5000:
# topic_user_id=topic_user_id, current_topic_id=topic_id,
# have_read_topic_list = have_read_topic_list[(have_read_topic_len - 5000):]
# topic_tag_list=topic_tag_list)
#
redis_dict
=
{
# redis_client.set(redis_key, json.dumps(have_read_topic_list))
"have_read_topic_list"
:
json
.
dumps
(
have_read_topic_list
),
}
redis_client
.
hmset
(
redis_key
,
redis_dict
)
redis_client
.
expire
(
redis_key
,
60
*
60
*
24
)
result_list
=
[]
logging
.
warning
(
"topic_tag_result:
%
s"
%
str
(
topic_tag_result
))
logging
.
warning
(
"topic_user_result:
%
s"
%
str
(
topic_user_result
))
logging
.
warning
(
"result:
%
s"
%
str
(
result
))
recommend_topic_ids_list
=
list
()
recommend_topic_ids_list
.
extend
(
topic_tag_result
)
recommend_topic_ids_list
.
extend
(
topic_user_result
)
recommend_topic_ids_list
.
extend
(
result
)
return
{
"recommend_topic_ids"
:
recommend_topic_ids_list
}
return
{
"recommend_topic_ids"
:
recommend_topic_ids_list
}
except
:
except
:
logging
.
error
(
"catch exception,err_msg:
%
s"
%
traceback
.
format_exc
())
logging
.
error
(
"catch exception,err_msg:
%
s"
%
traceback
.
format_exc
())
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment