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
61cad976
Commit
61cad976
authored
Mar 21, 2019
by
段英荣
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of git.wanmeizhensuo.com:alpha/physical
parents
76d80fed
c0ef481c
Show whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
157 additions
and
959 deletions
+157
-959
workspace.xml
.idea/workspace.xml
+47
-560
tasks.py
injection/data_sync/tasks.py
+0
-1
es.py
libs/es.py
+0
-4
group.py
search/utils/group.py
+16
-15
topic.py
search/utils/topic.py
+9
-22
group.py
search/views/group.py
+17
-17
topic.py
search/views/topic.py
+2
-2
trans2es_data2es_parallel.py
trans2es/management/commands/trans2es_data2es_parallel.py
+1
-0
pictorial.json
trans2es/mapping/pictorial.json
+0
-18
topic-v1.json
trans2es/mapping/topic-v1.json
+0
-53
topic.json
trans2es/mapping/topic.json
+0
-0
user.json
trans2es/mapping/user.json
+3
-17
group.py
trans2es/models/group.py
+9
-9
pictorial.py
trans2es/models/pictorial.py
+14
-76
topic.py
trans2es/models/topic.py
+14
-35
user.py
trans2es/models/user.py
+14
-37
type_info.py
trans2es/type_info.py
+1
-28
group_transfer.py
trans2es/utils/group_transfer.py
+1
-1
pictorial_transfer.py
trans2es/utils/pictorial_transfer.py
+0
-40
topic_transfer.py
trans2es/utils/topic_transfer.py
+5
-10
user_transfer.py
trans2es/utils/user_transfer.py
+4
-14
No files found.
.idea/workspace.xml
View file @
61cad976
<?xml version="1.0" encoding="UTF-8"?>
<project
version=
"4"
>
<component
name=
"ChangeListManager"
>
<list
default=
"true"
id=
"d7dd36ca-85ef-4a59-9db5-8b1ee4993a4e"
name=
"Default Changelist"
comment=
""
/>
<list
default=
"true"
id=
"d7dd36ca-85ef-4a59-9db5-8b1ee4993a4e"
name=
"Default Changelist"
comment=
""
>
<change
beforePath=
"$PROJECT_DIR$/.idea/workspace.xml"
beforeDir=
"false"
afterPath=
"$PROJECT_DIR$/.idea/workspace.xml"
afterDir=
"false"
/>
</list>
<option
name=
"EXCLUDED_CONVERTED_TO_IGNORED"
value=
"true"
/>
<option
name=
"SHOW_DIALOG"
value=
"false"
/>
<option
name=
"HIGHLIGHT_CONFLICTS"
value=
"true"
/>
...
...
@@ -53,174 +55,34 @@
</counts>
</usages-collector>
</session>
<session
id=
"-609148713"
>
<usages-collector
id=
"statistics.lifecycle.project"
>
<counts>
<entry
key=
"project.closed"
value=
"1"
/>
<entry
key=
"project.open.time.2"
value=
"1"
/>
<entry
key=
"project.open.time.8"
value=
"1"
/>
<entry
key=
"project.opened"
value=
"2"
/>
</counts>
</usages-collector>
<usages-collector
id=
"statistics.file.extensions.open"
>
<counts>
<entry
key=
"json"
value=
"8"
/>
<entry
key=
"py"
value=
"69"
/>
<entry
key=
"template"
value=
"3"
/>
<entry
key=
"xml"
value=
"1"
/>
</counts>
</usages-collector>
<usages-collector
id=
"statistics.file.types.open"
>
<counts>
<entry
key=
"JSON"
value=
"8"
/>
<entry
key=
"PLAIN_TEXT"
value=
"3"
/>
<entry
key=
"Python"
value=
"69"
/>
<entry
key=
"XML"
value=
"1"
/>
</counts>
</usages-collector>
<usages-collector
id=
"statistics.file.extensions.edit"
>
<counts>
<entry
key=
"json"
value=
"56"
/>
<entry
key=
"py"
value=
"888"
/>
<entry
key=
"template"
value=
"5"
/>
</counts>
</usages-collector>
<usages-collector
id=
"statistics.file.types.edit"
>
<counts>
<entry
key=
"JSON"
value=
"56"
/>
<entry
key=
"PLAIN_TEXT"
value=
"5"
/>
<entry
key=
"Python"
value=
"888"
/>
</counts>
</usages-collector>
</session>
</component>
<component
name=
"FileEditorManager"
>
<leaf
SIDE_TABS_SIZE_LIMIT_KEY=
"300"
>
<file
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/search/views/topic.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<<<<<<
< HEAD
<state
relative-caret-position=
"15"
>
=======
<state
relative-caret-position=
"823"
>
>>>>>>> huabao
<caret
line=
"103"
column=
"37"
selection-start-line=
"103"
selection-start-column=
"32"
selection-end-line=
"103"
selection-end-column=
"37"
/>
<state
relative-caret-position=
"209"
>
<caret
line=
"85"
column=
"46"
selection-start-line=
"85"
selection-start-column=
"46"
selection-end-line=
"85"
selection-end-column=
"46"
/>
<folding>
<element
signature=
"e#466#1607#0"
/>
<element
signature=
"e#7074#7716#0"
/>
<element
signature=
"e#7816#8386#0"
/>
<element
signature=
"e#8511#9086#0"
/>
<element
signature=
"e#463#1573#0"
/>
<element
signature=
"e#6049#6240#0"
/>
<element
signature=
"e#7051#7614#0"
/>
<element
signature=
"e#8492#10033#0"
/>
<element
signature=
"e#10162#10820#0"
/>
<element
signature=
"e#10934#11363#0"
/>
</folding>
</state>
</provider>
</entry>
</file>
<file
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/search/views/group.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"510"
>
<caret
line=
"42"
column=
"16"
lean-forward=
"true"
selection-start-line=
"42"
selection-start-column=
"16"
selection-end-line=
"42"
selection-end-column=
"16"
/>
</state>
</provider>
</entry>
</file>
<file
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/trans2es/type_info.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"265"
>
<caret
line=
"337"
column=
"24"
selection-start-line=
"337"
selection-start-column=
"24"
selection-end-line=
"337"
selection-end-column=
"24"
/>
<folding>
<element
signature=
"e#15#87#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
</file>
<file
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/trans2es/models/pictorial.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<<<<<<
< HEAD
<state
relative-caret-position=
"307"
>
<caret
line=
"264"
column=
"36"
lean-forward=
"true"
selection-start-line=
"264"
selection-start-column=
"36"
selection-end-line=
"264"
selection-end-column=
"36"
/>
=======
<state>
<caret
line=
"31"
column=
"4"
selection-start-line=
"31"
selection-start-column=
"4"
selection-end-line=
"31"
selection-end-column=
"4"
/>
</state>
</provider>
</entry>
</file>
<file
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/trans2es/utils/pictorial_transfer.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"322"
>
<caret
line=
"28"
column=
"48"
lean-forward=
"true"
selection-start-line=
"28"
selection-start-column=
"48"
selection-end-line=
"28"
selection-end-column=
"48"
/>
>>>>>>> huabao
<folding>
<element
signature=
"e#46#55#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
</file>
<file
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/trans2es/mapping/topic.json"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<<<<<<
< HEAD
<state
relative-caret-position=
"215"
>
<caret
line=
"24"
column=
"16"
selection-start-line=
"24"
selection-start-column=
"5"
selection-end-line=
"24"
selection-end-column=
"16"
/>
=======
<state
relative-caret-position=
"319"
>
<caret
line=
"27"
column=
"36"
lean-forward=
"true"
selection-start-line=
"27"
selection-start-column=
"36"
selection-end-line=
"27"
selection-end-column=
"36"
/>
>>>>>>> huabao
</state>
</provider>
</entry>
</file>
<file
pinned=
"false"
current-in-tab=
"true"
>
<entry
file=
"file://$PROJECT_DIR$/trans2es/utils/topic_transfer.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<<<<<<
< HEAD
<state
relative-caret-position=
"1068"
>
<caret
line=
"75"
column=
"19"
lean-forward=
"true"
selection-start-line=
"75"
selection-start-column=
"19"
selection-end-line=
"75"
selection-end-column=
"19"
/>
=======
<state
relative-caret-position=
"1129"
>
<caret
line=
"88"
column=
"48"
lean-forward=
"true"
selection-start-line=
"88"
selection-start-column=
"48"
selection-end-line=
"88"
selection-end-column=
"48"
/>
>>>>>>> huabao
<folding>
<element
signature=
"e#46#55#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
</file>
<file
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/trans2es/models/topic.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"698"
>
<caret
line=
"98"
column=
"80"
selection-start-line=
"98"
selection-start-column=
"12"
selection-end-line=
"98"
selection-end-column=
"80"
/>
<folding>
<element
signature=
"e#46#118#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
</file>
<file
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/trans2es/mapping/pictorial.json"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"240"
>
<caret
line=
"16"
column=
"1"
lean-forward=
"true"
selection-start-line=
"16"
selection-start-column=
"1"
selection-end-line=
"16"
selection-end-column=
"1"
/>
</state>
</provider>
</entry>
</file>
<file
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/search/utils/topic.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"1
29
0"
>
<caret
line=
"
94"
column=
"8"
selection-start-line=
"94"
selection-start-column=
"8"
selection-end-line=
"94"
selection-end-column=
"8
"
/>
<state
relative-caret-position=
"1
76
0"
>
<caret
line=
"
293"
column=
"66"
selection-start-line=
"293"
selection-start-column=
"66"
selection-end-line=
"293"
selection-end-column=
"66
"
/>
<folding>
<element
signature=
"e#47#61#0"
expanded=
"true"
/>
<element
signature=
"e#363#1043#0"
/>
</folding>
</state>
</provider>
...
...
@@ -228,72 +90,25 @@
</file>
</leaf>
</component>
<component
name=
"FileTemplateManagerImpl"
>
<option
name=
"RECENT_TEMPLATES"
>
<list>
<option
value=
"Python Script"
/>
</list>
</option>
</component>
<component
name=
"FindInProjectRecents"
>
<findStrings>
<find>
grop
</find>
<find>
contrast_similar
</find>
<find>
topic
</find>
<find>
GroupTransfer
</find>
<find>
get_group_query_result
</find>
<find>
get_group_ids_by_aggs
</find>
<find>
pictorial_id
</find>
<find>
pictorial_name
</find>
<find>
get_recommend_topic_ids
</find>
<find>
ES_INDEX_PREFIX
</find>
<find>
physical/search/query_tag_id_by_topic
</find>
<find>
tag_name_list
</find>
<find>
pictorial
</find>
<find>
group
</find>
<find>
update_time
</find>
</findStrings>
</component>
<component
name=
"Git.Settings"
>
<option
name=
"RECENT_GIT_ROOT_PATH"
value=
"$PROJECT_DIR$"
/>
</component>
<component
name=
"IdeDocumentHistory"
>
<option
name=
"CHANGED_PATHS"
>
<list>
<option
value=
"$PROJECT_DIR$/trans2es/models/face_user_contrast_similar.py"
/>
<option
value=
"$PROJECT_DIR$/physical/settings.py"
/>
<option
value=
"$PROJECT_DIR$/trans2es/utils/pictorial_transfer.py"
/>
<option
value=
"$PROJECT_DIR$/trans2es/mapping/group.json"
/>
<option
value=
"$PROJECT_DIR$/trans2es/mapping/pictorial.py"
/>
<option
value=
"$PROJECT_DIR$/trans2es/mapping/pictorial.json"
/>
<option
value=
"$PROJECT_DIR$/trans2es/type_info.py"
/>
<option
value=
"$PROJECT_DIR$/trans2es/models/group.py"
/>
<option
value=
"$PROJECT_DIR$/trans2es/utils/group_transfer.py"
/>
<option
value=
"$PROJECT_DIR$/trans2es/models/pictorial.py"
/>
<option
value=
"$PROJECT_DIR$/trans2es/mapping/user.json"
/>
<option
value=
"$PROJECT_DIR$/trans2es/utils/user_transfer.py"
/>
<option
value=
"$PROJECT_DIR$/trans2es/models/user.py"
/>
<option
value=
"$PROJECT_DIR$/trans2es/management/commands/trans2es_data2es_parallel.py"
/>
<option
value=
"$PROJECT_DIR$/trans2es/models/face_user_contrast_similar.py"
/>
<option
value=
"$PROJECT_DIR$/search/views/topic.py"
/>
<option
value=
"$PROJECT_DIR$/search/views/group.py"
/>
<option
value=
"$PROJECT_DIR$/search/utils/topic.py"
/>
<option
value=
"$PROJECT_DIR$/physical/settings_local.py.template"
/>
<option
value=
"$PROJECT_DIR$/search/utils/group.py"
/>
<option
value=
"$PROJECT_DIR$/trans2es/models/topic.py"
/>
<option
value=
"$PROJECT_DIR$/trans2es/mapping/topic.json"
/>
<option
value=
"$PROJECT_DIR$/trans2es/utils/topic_transfer.py"
/>
<option
value=
"$PROJECT_DIR$/physical/settings.py"
/>
</list>
</option>
</component>
<component
name=
"ProjectFrameBounds"
>
<<<<<<
< HEAD
<option
name=
"x"
value=
"-89"
/>
=======
<option
name=
"x"
value=
"-56"
/>
>>>>>>> huabao
<option
name=
"x"
value=
"279"
/>
<option
name=
"y"
value=
"23"
/>
<option
name=
"width"
value=
"1
92
0"
/>
<option
name=
"height"
value=
"7
24
"
/>
<option
name=
"width"
value=
"1
28
0"
/>
<option
name=
"height"
value=
"7
38
"
/>
</component>
<component
name=
"ProjectInspectionProfilesVisibleTreeState"
>
<entry
key=
"Project Default"
>
...
...
@@ -328,7 +143,7 @@
<path>
<item
name=
"physical"
type=
"b2602c69:ProjectViewProjectNode"
/>
<item
name=
"physical"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"
injection
"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"
linucb
"
type=
"462c0819:PsiDirectoryNode"
/>
</path>
<path>
<item
name=
"physical"
type=
"b2602c69:ProjectViewProjectNode"
/>
...
...
@@ -343,13 +158,14 @@
<path>
<item
name=
"physical"
type=
"b2602c69:ProjectViewProjectNode"
/>
<item
name=
"physical"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"trans2es"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"search"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"utils"
type=
"462c0819:PsiDirectoryNode"
/>
</path>
<path>
<item
name=
"physical"
type=
"b2602c69:ProjectViewProjectNode"
/>
<item
name=
"physical"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"
trans2es
"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"
mapping
"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"
search
"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"
views
"
type=
"462c0819:PsiDirectoryNode"
/>
</path>
</expand>
<select
/>
...
...
@@ -362,9 +178,6 @@
<property
name=
"settings.editor.selected.configurable"
value=
"com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable"
/>
</component>
<component
name=
"RecentsManager"
>
<key
name=
"CopyFile.RECENT_KEYS"
>
<recent
name=
"$PROJECT_DIR$/trans2es/mapping"
/>
</key>
<key
name=
"MoveFile.RECENT_KEYS"
>
<recent
name=
"$PROJECT_DIR$/search/views"
/>
</key>
...
...
@@ -395,14 +208,9 @@
<servers
/>
</component>
<component
name=
"ToolWindowManager"
>
<<<<<<
< HEAD
<frame
x=
"-89"
y=
"23"
width=
"1920"
height=
"724"
extended-state=
"0"
/>
=======
<frame
x=
"-56"
y=
"23"
width=
"1920"
height=
"724"
extended-state=
"0"
/>
>>>>>>> huabao
<editor
active=
"true"
/>
<frame
x=
"0"
y=
"23"
width=
"1280"
height=
"724"
extended-state=
"6"
/>
<layout>
<window_info
active=
"true"
content_ui=
"combo"
id=
"Project"
order=
"0"
visible=
"true"
weight=
"0.18114798
"
/>
<window_info
content_ui=
"combo"
id=
"Project"
order=
"0"
visible=
"true"
weight=
"0.22160445
"
/>
<window_info
id=
"Structure"
order=
"1"
side_tool=
"true"
weight=
"0.25"
/>
<window_info
id=
"DB Browser"
order=
"2"
/>
<window_info
id=
"Favorites"
order=
"3"
side_tool=
"true"
/>
...
...
@@ -415,11 +223,7 @@
<window_info
anchor=
"bottom"
id=
"TODO"
order=
"6"
/>
<window_info
anchor=
"bottom"
id=
"Version Control"
order=
"7"
show_stripe_button=
"false"
/>
<window_info
anchor=
"bottom"
id=
"DB Execution Console"
order=
"8"
/>
<<<<<<
< HEAD
<window_info
anchor=
"bottom"
id=
"Terminal"
order=
"9"
visible=
"true"
weight=
"0.56978655"
/>
=======
<window_info
anchor=
"bottom"
id=
"Terminal"
order=
"9"
visible=
"true"
weight=
"0.0"
/>
>>>>>>> huabao
<window_info
active=
"true"
anchor=
"bottom"
id=
"Terminal"
order=
"9"
visible=
"true"
weight=
"0.44663382"
/>
<window_info
anchor=
"bottom"
id=
"Python Console"
order=
"10"
/>
<window_info
anchor=
"bottom"
id=
"Event Log"
order=
"11"
side_tool=
"true"
/>
<window_info
anchor=
"right"
id=
"Commander"
internal_type=
"SLIDING"
order=
"0"
type=
"SLIDING"
weight=
"0.4"
/>
...
...
@@ -430,62 +234,7 @@
<component
name=
"VcsContentAnnotationSettings"
>
<option
name=
"myLimit"
value=
"2678400000"
/>
</component>
<component
name=
"XDebuggerManager"
>
<breakpoint-manager>
<breakpoints>
<line-breakpoint
enabled=
"true"
suspend=
"THREAD"
type=
"python-line"
>
<url>
file://$PROJECT_DIR$/trans2es/models/user.py
</url>
<line>
148
</line>
<option
name=
"timeStamp"
value=
"1"
/>
</line-breakpoint>
<line-breakpoint
enabled=
"true"
suspend=
"THREAD"
type=
"python-line"
>
<url>
file://$PROJECT_DIR$/trans2es/models/user.py
</url>
<line>
139
</line>
<option
name=
"timeStamp"
value=
"2"
/>
</line-breakpoint>
<line-breakpoint
enabled=
"true"
suspend=
"THREAD"
type=
"python-line"
>
<url>
file://$PROJECT_DIR$/search/views/group.py
</url>
<line>
36
</line>
<option
name=
"timeStamp"
value=
"3"
/>
</line-breakpoint>
<line-breakpoint
enabled=
"true"
suspend=
"THREAD"
type=
"python-line"
>
<url>
file://$PROJECT_DIR$/search/utils/group.py
</url>
<line>
11
</line>
<option
name=
"timeStamp"
value=
"4"
/>
</line-breakpoint>
<line-breakpoint
enabled=
"true"
suspend=
"THREAD"
type=
"python-line"
>
<url>
file://$PROJECT_DIR$/trans2es/models/topic.py
</url>
<line>
86
</line>
<option
name=
"timeStamp"
value=
"5"
/>
</line-breakpoint>
<line-breakpoint
enabled=
"true"
suspend=
"THREAD"
type=
"python-line"
>
<url>
file://$PROJECT_DIR$/trans2es/models/topic.py
</url>
<line>
110
</line>
<option
name=
"timeStamp"
value=
"7"
/>
</line-breakpoint>
<line-breakpoint
enabled=
"true"
suspend=
"THREAD"
type=
"python-line"
>
<url>
file://$PROJECT_DIR$/trans2es/models/topic.py
</url>
<line>
136
</line>
<option
name=
"timeStamp"
value=
"8"
/>
</line-breakpoint>
</breakpoints>
</breakpoint-manager>
</component>
<component
name=
"editorHistoryManager"
>
<entry
file=
"file://$PROJECT_DIR$/search/views/contrast_similar.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
/>
</entry>
<entry
file=
"file://$PROJECT_DIR$/trans2es/mapping/pictorial.py"
/>
<entry
file=
"file://$PROJECT_DIR$/trans2es/mapping/group.json"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state>
<caret
column=
"1"
lean-forward=
"true"
selection-start-column=
"1"
selection-end-column=
"1"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/trans2es/management/commands/trans2es_mapping2es.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
/>
</entry>
<entry
file=
"file://$PROJECT_DIR$/trans2es/models/face_user_contrast_similar.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"240"
>
...
...
@@ -493,319 +242,57 @@
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/trans2es/models/contrast_similar.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
/>
</entry>
<entry
file=
"file://$PROJECT_DIR$/trans2es/models/group_user_role.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
/>
</entry>
<entry
file=
"file://$PROJECT_DIR$/trans2es/models/pick_celebrity.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
/>
</entry>
<entry
file=
"file://$PROJECT_DIR$/trans2es/models/pick_topic.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
/>
</entry>
<entry
file=
"file://$PROJECT_DIR$/trans2es/models/pickuserrecord.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
/>
</entry>
<entry
file=
"file://$PROJECT_DIR$/trans2es/models/user_extra.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
/>
</entry>
<entry
file=
"file://$PROJECT_DIR$/trans2es/models/user_follow.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
/>
</entry>
<entry
file=
"file://$PROJECT_DIR$/trans2es/utils/group_transfer.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"150"
>
<caret
line=
"14"
column=
"25"
selection-start-line=
"14"
selection-start-column=
"25"
selection-end-line=
"14"
selection-end-column=
"25"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/trans2es/models/group.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"210"
>
<caret
line=
"14"
column=
"26"
lean-forward=
"true"
selection-start-line=
"14"
selection-start-column=
"26"
selection-end-line=
"14"
selection-end-column=
"26"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/trans2es/utils/user_transfer.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"644"
>
<caret
line=
"76"
selection-start-line=
"76"
selection-end-line=
"76"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/trans2es/mapping/user.json"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"448"
>
<caret
line=
"51"
column=
"32"
selection-start-line=
"51"
selection-start-column=
"5"
selection-end-line=
"51"
selection-end-column=
"32"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/search/views.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
/>
</entry>
<entry
file=
"file://$PROJECT_DIR$/physical/django_init.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
/>
</entry>
<entry
file=
"file://$PROJECT_DIR$/physical/settings.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"180"
>
<caret
line=
"12"
column=
"9"
lean-forward=
"true"
selection-start-line=
"12"
selection-start-column=
"9"
selection-end-line=
"12"
selection-end-column=
"9"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/trans2es/management/commands/trans2es_data2es_parallel.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
585
"
>
<caret
line=
"
97"
lean-forward=
"true"
selection-start-line=
"97"
selection-end-line=
"97
"
/>
<state
relative-caret-position=
"
364
"
>
<caret
line=
"
129"
column=
"63"
selection-start-line=
"129"
selection-start-column=
"54"
selection-end-line=
"129"
selection-end-column=
"63
"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/
trans2es/models/user
.py"
>
<entry
file=
"file://$PROJECT_DIR$/
search/utils/topic
.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
285
"
>
<caret
line=
"
19"
column=
"25"
selection-start-line=
"19"
selection-start-column=
"25"
selection-end-line=
"19"
selection-end-column=
"25
"
/>
<state
relative-caret-position=
"
1760
"
>
<caret
line=
"
293"
column=
"66"
selection-start-line=
"293"
selection-start-column=
"66"
selection-end-line=
"293"
selection-end-column=
"66
"
/>
<folding>
<element
signature=
"e#47#79#0"
expanded=
"true"
/>
<element
signature=
"e#460#7466#0"
/>
<element
signature=
"e#1396#1736#0"
/>
<element
signature=
"e#1787#2318#0"
/>
<element
signature=
"e#2367#3238#0"
/>
<element
signature=
"e#3291#3907#0"
/>
<element
signature=
"e#3960#4576#0"
/>
<element
signature=
"e#3954#5060#0"
/>
<element
signature=
"e#5114#6318#0"
/>
<element
signature=
"e#6364#6780#0"
/>
<element
signature=
"e#47#61#0"
expanded=
"true"
/>
<element
signature=
"e#363#1043#0"
/>
</folding>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/search/views/user.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"-395"
>
<caret
line=
"1"
column=
"12"
selection-start-line=
"1"
selection-start-column=
"12"
selection-end-line=
"1"
selection-end-column=
"12"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/trans2es/models/tag.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
/>
</entry>
<entry
file=
"file://$PROJECT_DIR$/search/views/tag.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"-28"
/>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/search/views/pick.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
/>
</entry>
<entry
file=
"file://$PROJECT_DIR$/app_conf.xml"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
/>
</entry>
<entry
file=
"file://$PROJECT_DIR$/search/utils/common.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"72"
>
<caret
line=
"6"
column=
"6"
selection-start-line=
"6"
selection-start-column=
"6"
selection-end-line=
"6"
selection-end-column=
"6"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/physical/celery.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
/>
</entry>
<entry
file=
"file://$PROJECT_DIR$/physical/celery_task_router.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"300"
>
<caret
line=
"25"
column=
"23"
lean-forward=
"true"
selection-start-line=
"25"
selection-start-column=
"23"
selection-end-line=
"25"
selection-end-column=
"23"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/physical/urls.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
/>
</entry>
<entry
file=
"file://$PROJECT_DIR$/physical/wsgi.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
/>
</entry>
<entry
file=
"file://$PROJECT_DIR$/physical/settings_local.py.template"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"1837"
>
<caret
line=
"146"
column=
"26"
selection-start-line=
"146"
selection-start-column=
"26"
selection-end-line=
"146"
selection-end-column=
"26"
/>
</state>
<state
relative-caret-position=
"-1987"
/>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/
physical/views
.py"
>
<entry
file=
"file://$PROJECT_DIR$/
search/views/contrast_similar
.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
/>
</entry>
<entry
file=
"file://$PROJECT_DIR$/libs/es.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"120"
>
<caret
line=
"17"
column=
"43"
selection-start-line=
"17"
selection-start-column=
"28"
selection-end-line=
"17"
selection-end-column=
"43"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/search/utils/group.py"
>
<<<<<<
< HEAD
=======
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"147"
>
<caret
line=
"115"
column=
"21"
selection-start-line=
"115"
selection-start-column=
"21"
selection-end-line=
"115"
selection-end-column=
"21"
/>
<folding>
<element
signature=
"e#218#1347#0"
/>
</folding>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/injection/data_sync/tasks.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"180"
>
<caret
line=
"22"
column=
"22"
selection-start-line=
"22"
selection-start-column=
"22"
selection-end-line=
"22"
selection-end-column=
"38"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/search/utils/topic.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"1290"
>
<caret
line=
"94"
column=
"8"
selection-start-line=
"94"
selection-start-column=
"8"
selection-end-line=
"94"
selection-end-column=
"8"
/>
<folding>
<element
signature=
"e#47#61#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/search/views/group.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"510"
>
<caret
line=
"42"
column=
"16"
lean-forward=
"true"
selection-start-line=
"42"
selection-start-column=
"16"
selection-end-line=
"42"
selection-end-column=
"16"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/trans2es/mapping/topic.json"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"319"
>
<caret
line=
"27"
column=
"36"
lean-forward=
"true"
selection-start-line=
"27"
selection-start-column=
"36"
selection-end-line=
"27"
selection-end-column=
"36"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/search/views/topic.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
823
"
>
<caret
line=
"
103"
column=
"37"
selection-start-line=
"103"
selection-start-column=
"32"
selection-end-line=
"103"
selection-end-column=
"37
"
/>
<state
relative-caret-position=
"
209
"
>
<caret
line=
"
85"
column=
"46"
selection-start-line=
"85"
selection-start-column=
"46"
selection-end-line=
"85"
selection-end-column=
"46
"
/>
<folding>
<element
signature=
"e#466#1607#0"
/>
<element
signature=
"e#7074#7716#0"
/>
<element
signature=
"e#7816#8386#0"
/>
<element
signature=
"e#8511#9086#0"
/>
<element
signature=
"e#463#1573#0"
/>
<element
signature=
"e#6049#6240#0"
/>
<element
signature=
"e#7051#7614#0"
/>
<element
signature=
"e#8492#10033#0"
/>
<element
signature=
"e#10162#10820#0"
/>
<element
signature=
"e#10934#11363#0"
/>
</folding>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/trans2es/mapping/pictorial.json"
>
>>>>>>> huabao
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"240"
>
<caret
line=
"16"
column=
"1"
lean-forward=
"true"
selection-start-line=
"16"
selection-start-column=
"1"
selection-end-line=
"16"
selection-end-column=
"1"
/>
</state>
</provider>
</entry>
<<<<<<
< HEAD
=======
<entry
file=
"file://$PROJECT_DIR$/trans2es/type_info.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"265"
>
<caret
line=
"337"
column=
"24"
selection-start-line=
"337"
selection-start-column=
"24"
selection-end-line=
"337"
selection-end-column=
"24"
/>
<folding>
<element
signature=
"e#15#87#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/trans2es/utils/pictorial_transfer.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"322"
>
<caret
line=
"28"
column=
"48"
lean-forward=
"true"
selection-start-line=
"28"
selection-start-column=
"48"
selection-end-line=
"28"
selection-end-column=
"48"
/>
<folding>
<element
signature=
"e#46#55#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
>>>>>>> huabao
<entry
file=
"file://$PROJECT_DIR$/trans2es/models/topic.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"698"
>
<caret
line=
"98"
column=
"80"
selection-start-line=
"98"
selection-start-column=
"12"
selection-end-line=
"98"
selection-end-column=
"80"
/>
<folding>
<element
signature=
"e#46#118#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/trans2es/models/pictorial.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state>
<caret
line=
"31"
column=
"4"
selection-start-line=
"31"
selection-start-column=
"4"
selection-end-line=
"31"
selection-end-column=
"4"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/trans2es/utils/topic_transfer.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"1129"
>
<caret
line=
"88"
column=
"48"
lean-forward=
"true"
selection-start-line=
"88"
selection-start-column=
"48"
selection-end-line=
"88"
selection-end-column=
"48"
/>
<folding>
<element
signature=
"e#46#55#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
<<<<<<
< HEAD
<entry
file=
"file://$PROJECT_DIR$/trans2es/mapping/topic.json"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"215"
>
<caret
line=
"24"
column=
"16"
selection-start-line=
"24"
selection-start-column=
"5"
selection-end-line=
"24"
selection-end-column=
"16"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/search/views/group.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"510"
>
<caret
line=
"42"
column=
"16"
lean-forward=
"true"
selection-start-line=
"42"
selection-start-column=
"16"
selection-end-line=
"42"
selection-end-column=
"16"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/search/views/topic.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"15"
>
<caret
line=
"103"
column=
"37"
selection-start-line=
"103"
selection-start-column=
"32"
selection-end-line=
"103"
selection-end-column=
"37"
/>
<folding>
<element
signature=
"e#466#1607#0"
/>
<element
signature=
"e#7074#7716#0"
/>
<element
signature=
"e#7816#8386#0"
/>
<element
signature=
"e#8511#9086#0"
/>
</folding>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/trans2es/type_info.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"307"
>
<caret
line=
"264"
column=
"36"
lean-forward=
"true"
selection-start-line=
"264"
selection-start-column=
"36"
selection-end-line=
"264"
selection-end-column=
"36"
/>
<folding>
<element
signature=
"e#15#87#0"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/trans2es/utils/topic_transfer.py"
>
<entry
file=
"file://$PROJECT_DIR$/physical/settings.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"1068"
>
<caret
line=
"75"
column=
"19"
lean-forward=
"true"
selection-start-line=
"75"
selection-start-column=
"19"
selection-end-line=
"75"
selection-end-column=
"19"
/>
<folding>
<element
signature=
"e#46#55#0"
expanded=
"true"
/>
</folding>
<state
relative-caret-position=
"-2448"
>
<caret
line=
"12"
column=
"9"
lean-forward=
"true"
selection-start-line=
"12"
selection-start-column=
"9"
selection-end-line=
"12"
selection-end-column=
"9"
/>
</state>
</provider>
</entry>
=======
>>>>>>> huabao
</component>
<component
name=
"masterDetails"
>
<states>
...
...
injection/data_sync/tasks.py
View file @
61cad976
...
...
@@ -21,7 +21,6 @@ def write_to_es(es_type, pk_list, use_batch_query_set=False):
type_info
=
type_info_map
[
es_type
]
logging
.
info
(
"duan add,es_type:
%
s"
%
str
(
es_type
))
logging
.
info
(
"get es_type:
%
s"
%
es_type
)
type_info
.
insert_table_by_pk_list
(
sub_index_name
=
es_type
,
pk_list
=
pk_list
,
...
...
libs/es.py
View file @
61cad976
...
...
@@ -111,10 +111,6 @@ class ESPerform(object):
return
False
mapping_dict
=
cls
.
__load_mapping
(
sub_index_name
)
logging
.
info
(
"get write_alias_name:
%
s"
%
write_alias_name
)
logging
.
info
(
"get mapping_dict:
%
s"
%
mapping_dict
)
logging
.
info
(
"get mapping_type:
%
s"
%
mapping_type
)
es_cli
.
indices
.
put_mapping
(
index
=
write_alias_name
,
body
=
mapping_dict
,
doc_type
=
mapping_type
)
return
True
...
...
search/utils/group.py
View file @
61cad976
...
...
@@ -47,7 +47,7 @@ class GroupUtils(object):
return
{
"total_count"
:
0
,
"hits"
:[]}
@classmethod
def
get_hot_
pictorial
_recommend_result_list
(
cls
,
offset
,
size
,
es_cli_obj
=
None
):
def
get_hot_
group
_recommend_result_list
(
cls
,
offset
,
size
,
es_cli_obj
=
None
):
try
:
if
not
es_cli_obj
:
es_cli_obj
=
ESPerform
.
get_cli
()
...
...
@@ -68,19 +68,19 @@ class GroupUtils(object):
"includes"
:[
"id"
]
}
result_dict
=
ESPerform
.
get_search_results
(
es_cli_obj
,
"
pictorial
"
,
q
,
offset
,
size
)
result_dict
=
ESPerform
.
get_search_results
(
es_cli_obj
,
"
group
"
,
q
,
offset
,
size
)
pictorial
_ids_list
=
[]
group
_ids_list
=
[]
if
len
(
result_dict
[
"hits"
])
>
0
:
pictorial
_ids_list
=
[
item
[
"_source"
][
"id"
]
for
item
in
result_dict
[
"hits"
]]
group
_ids_list
=
[
item
[
"_source"
][
"id"
]
for
item
in
result_dict
[
"hits"
]]
return
pictorial
_ids_list
return
group
_ids_list
except
:
logging
.
error
(
"catch exception,err_msg:
%
s"
%
traceback
.
format_exc
())
return
[]
@classmethod
def
get_user_attention_
pictorial
_list
(
cls
,
user_id
,
offset
=
0
,
size
=
10
,
es_cli_obj
=
None
):
def
get_user_attention_
group
_list
(
cls
,
user_id
,
offset
=
0
,
size
=
10
,
es_cli_obj
=
None
):
"""
:remark: 获取用户关注小组列表
:return:
...
...
@@ -100,12 +100,12 @@ class GroupUtils(object):
}
}
q
[
"_source"
]
=
{
"includes"
:[
"attention_
pictorial
_id_list"
]
"includes"
:[
"attention_
group
_id_list"
]
}
result_dict
=
ESPerform
.
get_search_results
(
es_cli_obj
,
"user"
,
q
,
offset
,
size
)
if
len
(
result_dict
[
"hits"
])
>
0
:
return
result_dict
[
"hits"
][
0
][
"_source"
][
"attention_
pictorial
_id_list"
]
return
result_dict
[
"hits"
][
0
][
"_source"
][
"attention_
group
_id_list"
]
else
:
return
[]
except
:
...
...
@@ -113,7 +113,7 @@ class GroupUtils(object):
return
[]
@classmethod
def
get_
pictorial_ids_by_aggs
(
cls
,
pictorial_ids
_list
,
es_cli_obj
=
None
):
def
get_
group_ids_by_aggs
(
cls
,
group_id
_list
,
es_cli_obj
=
None
):
"""
:remark:聚合查询获取小组列表
:param group_id_list:
...
...
@@ -127,13 +127,13 @@ class GroupUtils(object):
q
[
"size"
]
=
0
q
[
"query"
]
=
{
"terms"
:{
"
pictorial_id"
:
pictorial_ids
_list
"
group_id"
:
group_id
_list
}
}
q
[
"aggs"
]
=
{
"
pictorial
_ids"
:{
"
group
_ids"
:{
"terms"
:{
"field"
:
"
pictorial
_id"
"field"
:
"
group
_id"
},
"aggs"
:{
"max_date"
:{
...
...
@@ -146,12 +146,12 @@ class GroupUtils(object):
}
result_dict
=
ESPerform
.
get_search_results
(
es_cli_obj
,
"topic"
,
q
,
aggregations_query
=
True
)
buckets_list
=
result_dict
[
"aggregations"
][
"
pictorial
_ids"
][
"buckets"
]
buckets_list
=
result_dict
[
"aggregations"
][
"
group
_ids"
][
"buckets"
]
sorted_buckets_list
=
sorted
(
buckets_list
,
key
=
lambda
item
:
item
[
"max_date"
][
"value"
],
reverse
=
True
)
sorted_
pictorial
_id_list
=
[
item
[
"key"
]
for
item
in
sorted_buckets_list
]
sorted_
group
_id_list
=
[
item
[
"key"
]
for
item
in
sorted_buckets_list
]
return
sorted_
pictorial
_id_list
return
sorted_
group
_id_list
except
:
logging
.
error
(
"catch exception,err_msg:
%
s"
%
traceback
.
format_exc
())
return
[]
\ No newline at end of file
search/utils/topic.py
View file @
61cad976
...
...
@@ -32,7 +32,7 @@ class TopicUtils(object):
}
}
q
[
"_source"
]
=
[
"tag_list"
,
"attention_user_id_list"
,
"pick_user_id_list"
,
"same_
pictorial
_user_id_list"
]
q
[
"_source"
]
=
[
"tag_list"
,
"attention_user_id_list"
,
"pick_user_id_list"
,
"same_
group
_user_id_list"
]
result_dict
=
ESPerform
.
get_search_results
(
ESPerform
.
get_cli
(),
"user"
,
q
,
offset
,
size
)
...
...
@@ -101,7 +101,7 @@ class TopicUtils(object):
}
},
"_source"
:{
"includes"
:
[
"id"
,
"
pictorial
_id"
,
"offline_score"
,
"user_id"
,
"edit_tag_list"
]
"includes"
:
[
"id"
,
"
group
_id"
,
"offline_score"
,
"user_id"
,
"edit_tag_list"
]
}
}
result_dict
=
ESPerform
.
get_search_results
(
ESPerform
.
get_cli
(),
sub_index_name
=
"topic"
,
query_body
=
q
,
...
...
@@ -136,7 +136,6 @@ class TopicUtils(object):
attention_user_id_list
=
list
()
pick_user_id_list
=
list
()
# same_group_id_list = list()
same_pictorial_id_list
=
list
()
user_tag_list
=
list
()
result_dict
=
TopicUtils
.
get_related_user_info
(
user_id
,
0
,
1
)
...
...
@@ -152,13 +151,9 @@ class TopicUtils(object):
# same_group_user_info_list = result_dict["hits"][0]["_source"]["same_group_user_id_list"]
# same_group_id_list = [item["user_id"] for item in same_group_user_info_list]
# same_group_id_list = same_group_id_list[:100]
same_pictorial_user_info_list
=
result_dict
[
"hits"
][
0
][
"_source"
][
"same_pictorial_user_id_list"
]
same_pictorial_id_list
=
[
item
[
"user_id"
]
for
item
in
same_pictorial_user_info_list
]
same_pictorial_id_list
=
same_pictorial_id_list
[:
100
]
user_tag_list
=
result_dict
[
"hits"
][
0
][
"_source"
][
"tag_list"
]
logging
.
info
(
"get same_pictorial_id_list :
%
s"
%
same_pictorial_id_list
)
q
=
dict
()
q
[
"query"
]
=
dict
()
...
...
@@ -217,14 +212,6 @@ class TopicUtils(object):
# "weight": 1
# }
# )
if
len
(
same_pictorial_id_list
)
>
0
:
functions_list
.
append
(
{
"filter"
:
{
"bool"
:
{
"should"
:
{
"terms"
:{
"user_id"
:
same_pictorial_id_list
}}}},
"weight"
:
1
}
)
# query_tag_term_list = cls.___get_should_term_list(user_tag_list)
if
len
(
user_tag_list
)
>
0
:
...
...
@@ -317,7 +304,7 @@ class TopicUtils(object):
"field"
:
"user_id"
}
q
[
"_source"
]
=
{
"includes"
:[
"id"
,
"
pictorial
_id"
,
"offline_score"
,
"user_id"
,
"edit_tag_list"
]
"includes"
:[
"id"
,
"
group
_id"
,
"offline_score"
,
"user_id"
,
"edit_tag_list"
]
}
q
[
"sort"
]
=
[
{
...
...
@@ -338,7 +325,7 @@ class TopicUtils(object):
offset
=
offset
,
size
=
size
)
topic_id_list
=
list
()
same_
pictorial
_id_set
=
set
()
same_
group
_id_set
=
set
()
same_user_id_set
=
set
()
for
item
in
result_dict
[
"hits"
]:
...
...
@@ -375,7 +362,7 @@ class TopicUtils(object):
return
list
()
@classmethod
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
):
def
get_topic_detail_recommend_list
(
cls
,
user_id
,
topic_id
,
topic_tag_list
,
topic_
group
_id
,
topic_user_id
,
filter_topic_user_id
,
have_read_topic_list
,
offset
,
size
,
es_cli_obj
=
None
):
"""
:remark 帖子详情页推荐列表,缺少按时间衰减
:param user_id:
...
...
@@ -408,11 +395,11 @@ class TopicUtils(object):
}
}
]
if
isinstance
(
topic_
pictorial_id
,
int
)
and
topic_pictorial
_id
>
0
:
if
isinstance
(
topic_
group_id
,
int
)
and
topic_group
_id
>
0
:
functions_list
.
append
(
{
"filter"
:
{
"term"
:
{
"
pictorial_id"
:
topic_pictorial
_id
}},
"
group_id"
:
topic_group
_id
}},
"weight"
:
1
,
}
)
...
...
@@ -448,7 +435,7 @@ class TopicUtils(object):
}
q
[
"query"
][
"function_score"
]
=
query_function_score
q
[
"_source"
]
=
{
"includes"
:[
"id"
,
"
pictorial
_id"
,
"user_id"
,
"_score"
]
"includes"
:[
"id"
,
"
group
_id"
,
"user_id"
,
"_score"
]
}
result_dict
=
ESPerform
.
get_search_results
(
es_cli_obj
,
sub_index_name
=
"topic"
,
query_body
=
q
,
...
...
@@ -560,7 +547,7 @@ class TopicUtils(object):
"function_score"
:
query_function_score
}
q
[
"_source"
]
=
{
"includes"
:[
"id"
,
"
pictorial
_id"
,
"user_id"
,
"_score"
,
"offline_score"
,
"manual_score"
]
"includes"
:[
"id"
,
"
group
_id"
,
"user_id"
,
"_score"
,
"offline_score"
,
"manual_score"
]
}
q
[
"sort"
]
=
[
{
...
...
search/views/group.py
View file @
61cad976
...
...
@@ -12,7 +12,7 @@ from search.utils.common import GroupSortTypes
from
libs.es
import
ESPerform
@bind
(
"physical/search/query_
pictorial
"
)
@bind
(
"physical/search/query_
group
"
)
def
query_group
(
query
=
""
,
offset
=
0
,
size
=
10
):
"""
:remark:小组搜索排序策略,缺少排序策略
...
...
@@ -33,8 +33,8 @@ def query_group(query="",offset=0,size=10):
logging
.
error
(
"catch exception,err_msg:
%
s"
%
traceback
.
format_exc
())
return
{
"group_ids"
:[]}
@bind
(
"physical/search/
pictorial
_sort"
)
def
pictorial
_sort
(
user_id
=-
1
,
sort_type
=
GroupSortTypes
.
HOT_RECOMMEND
,
offset
=
0
,
size
=
10
):
@bind
(
"physical/search/
group
_sort"
)
def
group
_sort
(
user_id
=-
1
,
sort_type
=
GroupSortTypes
.
HOT_RECOMMEND
,
offset
=
0
,
size
=
10
):
"""
:remark 小组排序,缺少:前1天发评论人数*x
:param user_id:
...
...
@@ -51,27 +51,27 @@ def pictorial_sort(user_id=-1,sort_type=GroupSortTypes.HOT_RECOMMEND,offset=0,si
es_cli_obj
=
ESPerform
.
get_cli
()
if
sort_type
==
GroupSortTypes
.
HOT_RECOMMEND
:
pictorial_ids_list
=
GroupUtils
.
get_hot_pictorial
_recommend_result_list
(
offset
,
size
,
es_cli_obj
)
group_ids_list
=
GroupUtils
.
get_hot_group
_recommend_result_list
(
offset
,
size
,
es_cli_obj
)
return
{
"
pictorial_recommend_ids"
:
pictorial
_ids_list
}
return
{
"
group_recommend_ids"
:
group
_ids_list
}
elif
sort_type
==
GroupSortTypes
.
ATTENTION_RECOMMEND
:
attention_
pictorial_list
=
GroupUtils
.
get_user_attention_pictorial
_list
(
user_id
,
offset
=
0
,
size
=
1
,
es_cli_obj
=
es_cli_obj
)
if
len
(
attention_
pictorial
_list
)
==
0
:
return
{
"
pictorial
_recommend_ids"
:
[]}
attention_
group_list
=
GroupUtils
.
get_user_attention_group
_list
(
user_id
,
offset
=
0
,
size
=
1
,
es_cli_obj
=
es_cli_obj
)
if
len
(
attention_
group
_list
)
==
0
:
return
{
"
group
_recommend_ids"
:
[]}
else
:
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
,
es_cli_obj
)
attention_
group_id_list
=
[
item
[
"group_id"
]
for
item
in
attention_group
_list
]
sorted_
group_ids_list
=
GroupUtils
.
get_group_ids_by_aggs
(
attention_group
_id_list
,
es_cli_obj
)
pictorial_recommend_ids_list
=
sorted_pictorial
_ids_list
group_recommend_ids_list
=
sorted_group
_ids_list
#if len(group_recommend_ids_list) < size and len(group_recommend_ids_list)<len(attention_group_list):
sorted_attention_
pictorial_list
=
sorted
(
attention_pictorial
_list
,
key
=
lambda
item
:
item
[
"update_time_val"
],
reverse
=
True
)
for
item
in
sorted_attention_
pictorial
_list
:
if
item
[
"
pictorial_id"
]
not
in
pictorial
_recommend_ids_list
:
pictorial_recommend_ids_list
.
append
(
item
[
"pictorial
_id"
])
sorted_attention_
group_list
=
sorted
(
attention_group
_list
,
key
=
lambda
item
:
item
[
"update_time_val"
],
reverse
=
True
)
for
item
in
sorted_attention_
group
_list
:
if
item
[
"
group_id"
]
not
in
group
_recommend_ids_list
:
group_recommend_ids_list
.
append
(
item
[
"group
_id"
])
return
{
"
pictorial_recommend_ids"
:
pictorial
_recommend_ids_list
[
offset
:(
offset
+
size
)]}
return
{
"
group_recommend_ids"
:
group
_recommend_ids_list
[
offset
:(
offset
+
size
)]}
except
:
logging
.
error
(
"catch exception,err_msg:
%
s"
%
traceback
.
format_exc
())
return
{
"
pictorial
_recommend_ids"
:[]}
return
{
"
group
_recommend_ids"
:[]}
search/views/topic.py
View file @
61cad976
...
...
@@ -247,7 +247,7 @@ def home_query(device_id="", tag_id=-1, user_id=-1, query="", offset=0, size=10)
@bind
(
"physical/search/topic_detail_page_recommend"
)
def
topic_detail_page_recommend
(
device_id
=
""
,
user_id
=-
1
,
topic_id
=-
1
,
topic_
pictorial
_id
=-
1
,
topic_user_id
=-
1
,
def
topic_detail_page_recommend
(
device_id
=
""
,
user_id
=-
1
,
topic_id
=-
1
,
topic_
group
_id
=-
1
,
topic_user_id
=-
1
,
filter_topic_user_id
=
False
,
offset
=
0
,
size
=
10
):
"""
:remark:帖子详情页推荐策略,缺少第一个卡片策略
...
...
@@ -271,7 +271,7 @@ def topic_detail_page_recommend(device_id="", user_id=-1, topic_id=-1, topic_pic
# 获取帖子标签列表
topic_tag_list
=
TopicUtils
.
get_topic_tag_id_list
(
topic_id
,
es_cli_obj
)
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_
group
_id
,
topic_user_id
,
filter_topic_user_id
,
have_read_topic_list
,
offset
,
size
,
es_cli_obj
)
recommend_topic_ids_list
=
list
()
...
...
trans2es/management/commands/trans2es_data2es_parallel.py
View file @
61cad976
...
...
@@ -49,6 +49,7 @@ class Job(object):
def
__call__
(
self
):
type_info
=
get_type_info_map
()[
self
.
_type_name
]
assert
isinstance
(
type_info
,
TypeInfo
)
result
=
type_info
.
insert_table_chunk
(
sub_index_name
=
self
.
_sub_index_name
,
table_chunk
=
self
.
_chunk
,
...
...
trans2es/mapping/pictorial.json
deleted
100644 → 0
View file @
76d80fed
{
"dynamic"
:
"strict"
,
"properties"
:
{
"id"
:{
"type"
:
"long"
},
"is_online"
:{
"type"
:
"boolean"
},
//上线
"is_deleted"
:{
"type"
:
"boolean"
},
"is_recommend"
:{
"type"
:
"boolean"
},
"name"
:{
"type"
:
"text"
,
"analyzer"
:
"gm_default_index"
,
"search_analyzer"
:
"gm_default_index"
},
"description"
:{
"type"
:
"text"
,
"analyzer"
:
"gm_default_index"
,
"search_analyzer"
:
"gm_default_index"
},
"topic_num"
:{
"type"
:
"long"
},
"creator_id"
:{
"type"
:
"long"
},
"icon"
:{
"type"
:
"text"
},
"high_quality_topic_num"
:{
"type"
:
"long"
},
//前一天该小组
4
&
5
星帖子数量
"create_time"
:{
"type"
:
"date"
,
"format"
:
"date_time_no_millis"
},
"update_time"
:{
"type"
:
"date"
,
"format"
:
"date_time_no_millis"
}
}
}
\ No newline at end of file
trans2es/mapping/topic-v1.json
deleted
100644 → 0
View file @
76d80fed
{
"dynamic"
:
"strict"
,
"properties"
:
{
"id"
:{
"type"
:
"long"
},
"is_online"
:{
"type"
:
"boolean"
},
//上线
"is_deleted"
:{
"type"
:
"boolean"
},
"vote_num"
:{
"type"
:
"long"
},
"reply_num"
:{
"type"
:
"long"
},
"name"
:{
"type"
:
"text"
,
"analyzer"
:
"gm_default_index"
,
"search_analyzer"
:
"gm_default_index"
},
"description"
:{
"type"
:
"text"
,
"analyzer"
:
"gm_default_index"
,
"search_analyzer"
:
"gm_default_index"
},
"content"
:{
"type"
:
"text"
,
"analyzer"
:
"gm_default_index"
,
"search_analyzer"
:
"gm_default_index"
},
"content_level"
:{
"type"
:
"text"
},
"user_id"
:{
"type"
:
"long"
},
"group_id"
:{
"type"
:
"long"
},
//所在组ID
"tag_list"
:{
"type"
:
"long"
},
//标签属性
"edit_tag_list"
:{
"type"
:
"long"
},
//编辑标签
"tag_name_list"
:{
"type"
:
"text"
,
"analyzer"
:
"gm_default_index"
,
"search_analyzer"
:
"gm_default_index"
},
"share_num"
:{
"type"
:
"long"
},
"pick_id_list"
:{
"type"
:
"long"
},
"offline_score"
:{
"type"
:
"double"
},
//离线算分
"manual_score"
:{
"type"
:
"double"
},
//人工赋分
"has_image"
:{
"type"
:
"boolean"
},
//是否有图
"has_video"
:{
"type"
:
"boolean"
},
//是否是视频
"create_time"
:{
"type"
:
"date"
,
"format"
:
"date_time_no_millis"
},
"update_time"
:{
"type"
:
"date"
,
"format"
:
"date_time_no_millis"
},
"create_time_val"
:{
"type"
:
"long"
},
"update_time_val"
:{
"type"
:
"long"
},
"language_type"
:{
"type"
:
"long"
},
"is_shadow"
:
{
"type"
:
"boolean"
},
"is_recommend"
:
{
"type"
:
"boolean"
},
"is_complaint"
:
{
"type"
:
"boolean"
},
//
是否被举报
"virtual_content_level"
:{
"type"
:
"text"
},
"like_num_crawl"
:
{
"type"
:
"long"
},
//
爬取点赞数
"comment_num_crawl"
:
{
"type"
:
"long"
},
//
爬取评论数
"is_crawl"
:
{
"type"
:
"boolean"
},
"platform"
:
{
"type"
:
"long"
},
"platform_id"
:
{
"type"
:
"long"
},
"drop_score"
:{
"type"
:
"double"
},
//
人工降分
"sort_score"
:{
"type"
:
"double"
},
//
排序分
"pictorial_id"
:{
"type"
:
"long"
},
//所在组ID
"pictorial_name"
:{
//
所在组名称
"type"
:
"text"
,
"analyzer"
:
"gm_default_index"
,
"search_analyzer"
:
"gm_default_index"
}
}
}
trans2es/mapping/topic.json
View file @
61cad976
trans2es/mapping/user.json
View file @
61cad976
...
...
@@ -28,31 +28,17 @@
"country_id"
:{
"type"
:
"text"
}
}
},
//
"same_group_user_id_list"
:{
//同组用户列表
//
"type"
:
"nested"
,
//
"properties"
:{
//
"user_id"
:{
"type"
:
"long"
},
//
"country_id"
:{
"type"
:
"text"
}
//
}
//
},
//
"attention_group_id_list"
:{
//关注小组列表
//
"type"
:
"nested"
,
//
"properties"
:{
//
"group_id"
:{
"type"
:
"long"
},
//
"update_time_val"
:{
"type"
:
"long"
}
//
}
//
},
"same_pictorial_user_id_list"
:{
//同画报用户列表
"same_group_user_id_list"
:{
//同组用户列表
"type"
:
"nested"
,
"properties"
:{
"user_id"
:{
"type"
:
"long"
},
"country_id"
:{
"type"
:
"text"
}
}
},
"attention_
pictorial_id_list"
:{
//关注画报
列表
"attention_
group_id_list"
:{
//关注小组
列表
"type"
:
"nested"
,
"properties"
:{
"
pictorial
_id"
:{
"type"
:
"long"
},
"
group
_id"
:{
"type"
:
"long"
},
"update_time_val"
:{
"type"
:
"long"
}
}
},
...
...
trans2es/models/group.py
View file @
61cad976
...
...
@@ -27,15 +27,15 @@ class Group(models.Model):
create_time
=
models
.
DateTimeField
(
verbose_name
=
u'创建时间'
,
default
=
datetime
.
datetime
.
fromtimestamp
(
0
))
update_time
=
models
.
DateTimeField
(
verbose_name
=
u'更新时间'
,
default
=
datetime
.
datetime
.
fromtimestamp
(
0
))
#
#
获取前一天4,5星发帖数
#
def get_high_quality_topic_num(self):
#
yesterday = datetime.datetime.now()-datetime.timedelta(days=1)
#
yesterday_begin_time = "%s-%s-%s 00:00:00" % (yesterday.year, yesterday.month, yesterday.day)
#
yesterday_end_time = "%s-%s-%s 23:59:59" % (yesterday.year, yesterday.month, yesterday.day)
#
#
topic_num = self.group_topics.filter(content_level__in=("4","5"),create_time__gte=yesterday_begin_time,create_time__lte=yesterday_end_time).count()
#
#
return topic_num
#获取前一天4,5星发帖数
def
get_high_quality_topic_num
(
self
):
yesterday
=
datetime
.
datetime
.
now
()
-
datetime
.
timedelta
(
days
=
1
)
yesterday_begin_time
=
"
%
s-
%
s-
%
s 00:00:00"
%
(
yesterday
.
year
,
yesterday
.
month
,
yesterday
.
day
)
yesterday_end_time
=
"
%
s-
%
s-
%
s 23:59:59"
%
(
yesterday
.
year
,
yesterday
.
month
,
yesterday
.
day
)
topic_num
=
self
.
group_topics
.
filter
(
content_level__in
=
(
"4"
,
"5"
),
create_time__gte
=
yesterday_begin_time
,
create_time__lte
=
yesterday_end_time
)
.
count
()
return
topic_num
def
detail
(
self
):
result
=
{
...
...
trans2es/models/pictorial.py
View file @
61cad976
from
django.db
import
models
import
datetime
import
logging
import
traceback
# from .topic import Topic
# from django.db import models
class
PictorialTopic
(
models
.
Model
):
"""画报帖子关系"""
class
Meta
:
verbose_name
=
u'画报帖子关系'
app_label
=
'community'
db_table
=
'community_pictorial_topic'
# class PictorialTopic(models.Model):
# """画报帖子关系"""
id
=
models
.
IntegerField
(
verbose_name
=
u'日记ID'
,
primary_key
=
True
)
pictorial_id
=
models
.
BigIntegerField
(
verbose_name
=
u'画报ID'
)
topic_id
=
models
.
BigIntegerField
(
verbose_name
=
u'帖子ID'
)
is_online
=
models
.
BooleanField
(
verbose_name
=
u"是否有效"
,
default
=
True
)
is_online
=
models
.
BooleanField
(
verbose_name
=
u'是否上线'
)
is_deleted
=
models
.
BooleanField
(
verbose_name
=
u'是否删除'
)
# class Meta:
# verbose_name = u'画报帖子关系'
# app_label = 'community'
# db_table = 'community_pictorial_topic'
class
PictorialFollow
(
models
.
Model
):
"""画报关注"""
class
Meta
:
verbose_name
=
u"画报用户关系"
app_label
=
"community"
db_table
=
"community_pictorial_follow"
id
=
models
.
IntegerField
(
verbose_name
=
u'关注ID'
,
primary_key
=
True
)
create_time
=
models
.
DateTimeField
(
verbose_name
=
u'创建时间'
,
default
=
datetime
.
datetime
.
fromtimestamp
(
0
))
update_time
=
models
.
DateTimeField
(
verbose_name
=
u'更新时间'
,
default
=
datetime
.
datetime
.
fromtimestamp
(
0
))
is_online
=
models
.
BooleanField
(
verbose_name
=
u'是否上线'
)
is_deleted
=
models
.
BooleanField
(
verbose_name
=
u'是否删除'
)
pictorial_id
=
models
.
BigIntegerField
(
verbose_name
=
u'画报ID'
)
user_id
=
models
.
BigIntegerField
(
verbose_name
=
u'用户ID'
)
class
Pictorial
(
models
.
Model
):
"""画报关注"""
class
Meta
:
verbose_name
=
u"画报"
app_label
=
"community"
db_table
=
"community_pictorial"
id
=
models
.
IntegerField
(
verbose_name
=
u'关注ID'
,
primary_key
=
True
)
create_time
=
models
.
DateTimeField
(
verbose_name
=
u'创建时间'
,
default
=
datetime
.
datetime
.
fromtimestamp
(
0
))
update_time
=
models
.
DateTimeField
(
verbose_name
=
u'更新时间'
,
default
=
datetime
.
datetime
.
fromtimestamp
(
0
))
is_online
=
models
.
BooleanField
(
verbose_name
=
u'是否上线'
)
is_deleted
=
models
.
BooleanField
(
verbose_name
=
u'是否删除'
)
is_recommend
=
models
.
BooleanField
(
verbose_name
=
u'推荐'
)
name
=
models
.
CharField
(
verbose_name
=
u'画报名称'
,
max_length
=
100
)
description
=
models
.
CharField
(
verbose_name
=
u'画报描述'
,
max_length
=
200
)
creator_id
=
models
.
BigIntegerField
(
verbose_name
=
u'画报用户ID'
)
icon
=
models
.
CharField
(
verbose_name
=
u'画报名称'
,
max_length
=
255
)
topic_num
=
models
.
IntegerField
(
verbose_name
=
u'次数'
)
# 获取前一天4,5星发帖数
def
get_high_quality_topic_num
(
self
):
try
:
yesterday
=
datetime
.
datetime
.
now
()
-
datetime
.
timedelta
(
days
=
1
)
yesterday_begin_time
=
"
%
s-
%
s-
%
s 00:00:00"
%
(
yesterday
.
year
,
yesterday
.
month
,
yesterday
.
day
)
yesterday_end_time
=
"
%
s-
%
s-
%
s 23:59:59"
%
(
yesterday
.
year
,
yesterday
.
month
,
yesterday
.
day
)
topic_id_list
=
PictorialTopic
.
objects
.
filter
(
pictorial_id
=
self
.
id
)
.
values_list
(
"topic_id"
,
flat
=
True
)
logging
.
info
(
"get topic_id_list:
%
s"
%
topic_id_list
)
# topic_num = Topic.filter(content_level__in=("4", "5"), create_time__gte=yesterday_begin_time,
# create_time__lte=yesterday_end_time, topic_id_in=topic_id_list).count()
#
# logging.info("get topic_num:%s" % topic_num)
#
# return topic_num
except
:
logging
.
error
(
"catch exception,err_msg:
%
s"
%
traceback
.
format_exc
())
return
False
# id = models.IntegerField(verbose_name=u'日记ID', primary_key=True)
# pictorial_id = models.BigIntegerField(verbose_name=u'画报ID')
# topic_id = models.BigIntegerField(verbose_name=u'帖子ID')
# user_id = models.BigIntegerField(verbose_name=u'用户ID')
# is_online = models.BooleanField(verbose_name=u"是否有效", default=True)
# is_online = models.BooleanField(verbose_name=u'是否上线')
# is_deleted = models.BooleanField(verbose_name=u'是否删除')
trans2es/models/topic.py
View file @
61cad976
...
...
@@ -16,7 +16,6 @@ from .pick_topic import PickTopic
from
.tag
import
TopicTag
,
Tag
from
.user_extra
import
UserExtra
from
.group
import
Group
from
.pictorial
import
PictorialTopic
class
ActionSumAboutTopic
(
models
.
Model
):
...
...
@@ -54,9 +53,9 @@ class Topic(models.Model):
id
=
models
.
IntegerField
(
verbose_name
=
u'日记ID'
,
primary_key
=
True
)
name
=
models
.
CharField
(
verbose_name
=
u'日记名称'
,
max_length
=
100
)
# group_id = models.IntegerField(verbose_name='用户所在组ID',default=-1)
#
group = models.ForeignKey(
#
Group, verbose_name=u"关联的小组", related_name=u"group_topics", null=True, blank=True, default=None,
#
on_delete=models.CASCADE)
group
=
models
.
ForeignKey
(
Group
,
verbose_name
=
u"关联的小组"
,
related_name
=
u"group_topics"
,
null
=
True
,
blank
=
True
,
default
=
None
,
on_delete
=
models
.
CASCADE
)
user_id
=
models
.
IntegerField
(
verbose_name
=
u'用户ID'
)
has_video
=
models
.
BooleanField
(
verbose_name
=
u'是否是视频日记'
)
drop_score
=
models
.
IntegerField
(
verbose_name
=
u'人工赋分'
,
default
=
0
)
...
...
@@ -84,21 +83,6 @@ class Topic(models.Model):
platform
=
models
.
IntegerField
(
verbose_name
=
u'平台来源'
,
choices
=
GRAP_PLATFORM
,
default
=
GRAP_PLATFORM
.
ALPHA
)
platform_id
=
models
.
BigIntegerField
(
verbose_name
=
'用平台ID'
,
null
=
True
)
def
get_pictorial_id
(
self
):
try
:
logging
.
info
(
"get user id :
%
s"
%
self
.
id
)
pictorial_id_list
=
[]
pictorial_id
=
PictorialTopic
.
objects
.
filter
(
topic_id
=
self
.
id
)
.
values_list
(
"pictorial_id"
,
flat
=
True
)
for
i
in
pictorial_id
:
pictorial_id_list
.
append
(
i
)
if
len
(
pictorial_id_list
)
>
0
:
logging
.
info
(
"get user attention pictorial id :
%
s"
%
pictorial_id_list
)
return
pictorial_id_list
except
:
logging
.
error
(
"catch exception,err_msg:
%
s"
%
traceback
.
format_exc
())
return
[]
@property
def
is_complaint
(
self
):
"""是否被举报"""
...
...
@@ -112,8 +96,7 @@ class Topic(models.Model):
try
:
has_image
=
False
query_list
=
TopicImage
.
objects
.
using
(
settings
.
SLAVE_DB_NAME
)
.
filter
(
topic_id
=
self
.
id
,
is_deleted
=
False
,
is_online
=
True
)
query_list
=
TopicImage
.
objects
.
using
(
settings
.
SLAVE_DB_NAME
)
.
filter
(
topic_id
=
self
.
id
,
is_deleted
=
False
,
is_online
=
True
)
if
len
(
query_list
)
>
0
:
has_image
=
True
...
...
@@ -139,13 +122,12 @@ class Topic(models.Model):
topic_tag_id_list
=
list
()
edit_tag_id_list
=
list
()
tag_id_list
=
TopicTag
.
objects
.
using
(
settings
.
SLAVE_DB_NAME
)
.
filter
(
topic_id
=
self
.
id
)
.
values_list
(
"tag_id"
,
flat
=
True
)
tag_id_list
=
TopicTag
.
objects
.
using
(
settings
.
SLAVE_DB_NAME
)
.
filter
(
topic_id
=
self
.
id
)
.
values_list
(
"tag_id"
,
flat
=
True
)
tag_query_results
=
Tag
.
objects
.
using
(
settings
.
SLAVE_DB_NAME
)
.
filter
(
id__in
=
tag_id_list
)
for
tag_item
in
tag_query_results
:
is_online
=
tag_item
.
is_online
is_deleted
=
tag_item
.
is_deleted
collection
=
tag_item
.
collection
is_online
=
tag_item
.
is_online
is_deleted
=
tag_item
.
is_deleted
collection
=
tag_item
.
collection
if
is_online
and
not
is_deleted
:
topic_tag_id_list
.
append
(
tag_item
.
id
)
...
...
@@ -155,7 +137,7 @@ class Topic(models.Model):
return
(
topic_tag_id_list
,
edit_tag_id_list
)
except
:
logging
.
error
(
"catch exception,err_msg:
%
s"
%
traceback
.
format_exc
())
return
([],
[])
return
([],[])
def
get_tag_name_list
(
self
,
tag_id_list
):
try
:
...
...
@@ -195,12 +177,9 @@ class Topic(models.Model):
elif
self
.
content_level
==
'3'
:
offline_score
+=
2.0
exposure_count
=
ActionSumAboutTopic
.
objects
.
using
(
settings
.
SLAVE_DB_NAME
)
.
filter
(
topic_id
=
self
.
id
,
data_type
=
1
)
.
count
()
click_count
=
ActionSumAboutTopic
.
objects
.
using
(
settings
.
SLAVE_DB_NAME
)
.
filter
(
topic_id
=
self
.
id
,
data_type
=
2
)
.
count
()
uv_num
=
ActionSumAboutTopic
.
objects
.
using
(
settings
.
SLAVE_DB_NAME
)
.
filter
(
topic_id
=
self
.
id
,
data_type
=
3
)
.
count
()
exposure_count
=
ActionSumAboutTopic
.
objects
.
using
(
settings
.
SLAVE_DB_NAME
)
.
filter
(
topic_id
=
self
.
id
,
data_type
=
1
)
.
count
()
click_count
=
ActionSumAboutTopic
.
objects
.
using
(
settings
.
SLAVE_DB_NAME
)
.
filter
(
topic_id
=
self
.
id
,
data_type
=
2
)
.
count
()
uv_num
=
ActionSumAboutTopic
.
objects
.
using
(
settings
.
SLAVE_DB_NAME
)
.
filter
(
topic_id
=
self
.
id
,
data_type
=
3
)
.
count
()
if
exposure_count
>
0
:
offline_score
+=
click_count
/
exposure_count
...
...
@@ -231,7 +210,6 @@ class TopicComplaint(models.Model):
id
=
models
.
IntegerField
(
verbose_name
=
'日记图片ID'
,
primary_key
=
True
)
user_id
=
models
.
BigIntegerField
(
verbose_name
=
u'用户ID'
,
db_index
=
True
)
topic
=
models
.
ForeignKey
(
Topic
,
verbose_name
=
u"关联的帖子"
,
null
=
True
,
blank
=
True
,
default
=
None
,
on_delete
=
models
.
CASCADE
,
related_name
=
'complaints'
)
Topic
,
verbose_name
=
u"关联的帖子"
,
null
=
True
,
blank
=
True
,
default
=
None
,
on_delete
=
models
.
CASCADE
,
related_name
=
'complaints'
)
is_online
=
models
.
BooleanField
(
verbose_name
=
u"是否有效"
,
default
=
True
)
\ No newline at end of file
trans2es/models/user.py
View file @
61cad976
...
...
@@ -15,7 +15,7 @@ from .group_user_role import GroupUserRole
from
.tag
import
AccountUserTag
from
.topic
import
Topic
from
.user_extra
import
UserExtra
from
.pictorial
import
PictorialFollow
class
User
(
models
.
Model
):
class
Meta
:
...
...
@@ -91,26 +91,6 @@ class User(models.Model):
logging
.
error
(
"catch exception,err_msg:
%
s"
%
traceback
.
format_exc
())
return
[]
def
get_attention_pictorial_id_list
(
self
):
try
:
attention_pictorial_id_list
=
list
()
query_results
=
PictorialFollow
.
objects
.
using
(
settings
.
SLAVE_DB_NAME
)
.
filter
(
is_online
=
True
,
user_id
=
self
.
user_id
)
logging
.
info
(
"get PictorialFollow:
%
s"
%
query_results
)
for
item
in
query_results
:
item_dict
=
{
"pictorial_id"
:
item
.
pictorial_id
,
"update_time_val"
:
time
.
mktime
(
tzlc
(
item
.
update_time
)
.
timetuple
())
}
attention_pictorial_id_list
.
append
(
item_dict
)
logging
.
info
(
"get user_id:
%
s"
%
self
.
user_id
)
logging
.
info
(
"get same_pictorial_user_id_list:
%
s"
%
attention_pictorial_id_list
)
return
attention_pictorial_id_list
except
:
logging
.
error
(
"catch exception,err_msg:
%
s"
%
traceback
.
format_exc
())
return
[]
def
get_pick_user_id_list
(
self
):
pick_topic_id_list
=
list
()
user_picks
=
self
.
user_pick
.
using
(
settings
.
SLAVE_DB_NAME
)
.
filter
(
is_deleted
=
False
,
is_pick
=
True
)
...
...
@@ -137,35 +117,32 @@ class User(models.Model):
return
pick_user_detail_list
def
get_same_
pictorial
_user_id_list
(
self
):
def
get_same_
group
_user_id_list
(
self
):
#todo 有的同组数据过大,导致celery cpu过高,暂时限制同组的数据大小,后续可能会去掉同组的数据
same_
pictorial
_user_id_list
=
list
()
pictorial_items_list
=
list
(
PictorialFollow
.
objects
.
using
(
settings
.
SLAVE_DB_NAME
)
.
filter
(
user_id
=
self
.
user_id
)
.
values_list
(
"pictorial
_id"
,
flat
=
True
))
for
pictorial_id
in
pictorial
_items_list
:
user_items_list
=
list
(
PictorialFollow
.
objects
.
using
(
settings
.
SLAVE_DB_NAME
)
.
filter
(
pictorial_id
=
pictorial
_id
)
.
values_list
(
"user_id"
,
flat
=
True
))
same_
group
_user_id_list
=
list
()
group_items_list
=
list
(
GroupUserRole
.
objects
.
using
(
settings
.
SLAVE_DB_NAME
)
.
filter
(
user_id
=
self
.
user_id
)
.
values_list
(
"group
_id"
,
flat
=
True
))
for
group_id
in
group
_items_list
:
user_items_list
=
list
(
GroupUserRole
.
objects
.
using
(
settings
.
SLAVE_DB_NAME
)
.
filter
(
group_id
=
group
_id
)
.
values_list
(
"user_id"
,
flat
=
True
))
for
user_id
in
user_items_list
:
same_
pictorial
_user_id_list
.
append
(
user_id
)
if
len
(
same_
pictorial
_user_id_list
)
>=
100
:
same_
group
_user_id_list
.
append
(
user_id
)
if
len
(
same_
group
_user_id_list
)
>=
100
:
break
if
len
(
same_
pictorial
_user_id_list
)
>=
100
:
if
len
(
same_
group
_user_id_list
)
>=
100
:
break
logging
.
info
(
"get same user_id:
%
s"
%
self
.
user_id
)
logging
.
info
(
"get same_pictorial_user_id_list:
%
s"
%
same_pictorial_user_id_list
)
same_
pictorial
_detail_list
=
list
()
for
i
in
range
(
0
,
len
(
same_
pictorial
_user_id_list
),
200
):
sql_data_list
=
User
.
objects
.
using
(
settings
.
SLAVE_DB_NAME
)
.
filter
(
user_id__in
=
same_
pictorial
_user_id_list
[
i
:
i
+
1000
])
same_
group
_detail_list
=
list
()
for
i
in
range
(
0
,
len
(
same_
group
_user_id_list
),
200
):
sql_data_list
=
User
.
objects
.
using
(
settings
.
SLAVE_DB_NAME
)
.
filter
(
user_id__in
=
same_
group
_user_id_list
[
i
:
i
+
1000
])
for
detail_data
in
sql_data_list
:
item
=
{
"user_id"
:
detail_data
.
user_id
,
"country_id"
:
detail_data
.
country_id
}
same_
pictorial
_detail_list
.
append
(
item
)
same_
group
_detail_list
.
append
(
item
)
return
same_
pictorial
_detail_list
return
same_
group
_detail_list
def
get_user_tag_id_list
(
self
):
try
:
...
...
trans2es/type_info.py
View file @
61cad976
...
...
@@ -12,12 +12,11 @@ import elasticsearch
import
elasticsearch.helpers
import
sys
from
trans2es.models
import
topic
,
user
,
pick_celebrity
,
group
,
celebrity
,
tag
,
contrast_similar
,
pictorial
from
trans2es.models
import
topic
,
user
,
pick_celebrity
,
group
,
celebrity
,
tag
,
contrast_similar
from
trans2es.utils.user_transfer
import
UserTransfer
from
trans2es.utils.pick_celebrity_transfer
import
PickCelebrityTransfer
from
trans2es.utils.group_transfer
import
GroupTransfer
from
trans2es.utils.topic_transfer
import
TopicTransfer
from
trans2es.utils.pictorial_transfer
import
PictorialTransfer
from
trans2es.utils.celebrity_transfer
import
CelebrityTransfer
from
trans2es.utils.tag_transfer
import
TagTransfer
from
trans2es.utils.contrast_similar_transfer
import
Contrast_Similar_Transfer
...
...
@@ -197,9 +196,6 @@ class TypeInfo(object):
time2
=
end
-
begin
begin
=
time
.
time
()
logging
.
info
(
"get sub_index_name:
%
s"
%
sub_index_name
)
logging
.
info
(
"get data_list:
%
s"
%
data_list
)
self
.
elasticsearch_bulk_insert_data
(
sub_index_name
=
sub_index_name
,
data_list
=
data_list
,
...
...
@@ -272,7 +268,6 @@ def get_type_info_map():
return
_get_type_info_map_result
type_info_list
=
[
TypeInfo
(
name
=
'topic-high-star'
,
# 高星日记
type
=
'topic-high-star'
,
...
...
@@ -293,16 +288,6 @@ def get_type_info_map():
round_insert_chunk_size
=
5
,
round_insert_period
=
2
,
),
TypeInfo
(
name
=
'topic-v1'
,
# 日记
type
=
'topic-v1'
,
model
=
topic
.
Topic
,
query_deferred
=
lambda
:
topic
.
Topic
.
objects
.
all
()
.
query
,
get_data_func
=
TopicTransfer
.
get_topic_data
,
bulk_insert_chunk_size
=
100
,
round_insert_chunk_size
=
5
,
round_insert_period
=
2
,
),
TypeInfo
(
name
=
"user"
,
# 用户
type
=
"user"
,
...
...
@@ -367,18 +352,7 @@ def get_type_info_map():
bulk_insert_chunk_size
=
100
,
round_insert_chunk_size
=
5
,
round_insert_period
=
2
),
TypeInfo
(
name
=
"pictorial"
,
# 画报
type
=
"pictorial"
,
model
=
pictorial
.
Pictorial
,
query_deferred
=
lambda
:
pictorial
.
Pictorial
.
objects
.
all
()
.
query
,
get_data_func
=
PictorialTransfer
.
get_poctorial_data
,
bulk_insert_chunk_size
=
100
,
round_insert_chunk_size
=
5
,
round_insert_period
=
2
,
)
]
type_info_map
=
{
...
...
@@ -388,4 +362,3 @@ def get_type_info_map():
_get_type_info_map_result
=
type_info_map
return
type_info_map
trans2es/utils/group_transfer.py
View file @
61cad976
...
...
@@ -33,7 +33,7 @@ class GroupTransfer(object):
update_time
=
instance
.
update_time
tzlc_udpate_time
=
tzlc
(
update_time
)
res
[
"update_time"
]
=
tzlc_udpate_time
#
res["high_quality_topic_num"] = instance.get_high_quality_topic_num()
res
[
"high_quality_topic_num"
]
=
instance
.
get_high_quality_topic_num
()
return
res
except
:
...
...
trans2es/utils/pictorial_transfer.py
deleted
100644 → 0
View file @
76d80fed
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import
os
import
sys
import
logging
import
traceback
from
libs.tools
import
tzlc
class
PictorialTransfer
(
object
):
def
__init__
(
self
):
pass
@classmethod
def
get_poctorial_data
(
cls
,
instance
):
try
:
res
=
dict
()
res
[
"id"
]
=
instance
.
id
res
[
"is_online"
]
=
instance
.
is_online
res
[
"is_deleted"
]
=
instance
.
is_deleted
res
[
"is_recommend"
]
=
instance
.
is_recommend
res
[
"name"
]
=
instance
.
name
res
[
"description"
]
=
instance
.
description
res
[
"topic_num"
]
=
instance
.
topic_num
res
[
"creator_id"
]
=
instance
.
creator_id
res
[
"icon"
]
=
instance
.
icon
create_time
=
instance
.
create_time
tzlc_create_time
=
tzlc
(
create_time
)
res
[
"create_time"
]
=
tzlc_create_time
update_time
=
instance
.
update_time
tzlc_udpate_time
=
tzlc
(
update_time
)
res
[
"update_time"
]
=
tzlc_udpate_time
res
[
"high_quality_topic_num"
]
=
instance
.
get_high_quality_topic_num
()
return
res
except
:
logging
.
error
(
"catch exception,err_msg:
%
s"
%
traceback
.
format_exc
())
return
dict
()
\ No newline at end of file
trans2es/utils/topic_transfer.py
View file @
61cad976
...
...
@@ -28,15 +28,10 @@ class TopicTransfer(object):
res
[
"content_level"
]
=
instance
.
content_level
res
[
"user_id"
]
=
instance
.
user_id
# if instance.group:
# res["group_id"] = instance.group.id
# else:
# res["group_id"] = -1
res
[
"pictorial_id"
]
=
instance
.
get_pictorial_id
()
logging
.
info
(
"get res['pictorial_id']:
%
s"
%
res
[
"pictorial_id"
])
if
instance
.
group
:
res
[
"group_id"
]
=
instance
.
group
.
id
else
:
res
[
"group_id"
]
=
-
1
res
[
"share_num"
]
=
instance
.
share_num
begin
=
time
.
time
()
...
...
@@ -92,7 +87,7 @@ class TopicTransfer(object):
update_time
=
instance
.
update_time
tzlc_update_time
=
tzlc
(
update_time
)
#
res["update_time"] = tzlc_update_time
res
[
"update_time"
]
=
tzlc_update_time
res
[
"update_time_val"
]
=
int
(
time
.
mktime
(
tzlc_update_time
.
timetuple
()))
logging
.
info
(
"test topic transfer time cost,time0:
%
d,time1:
%
d,time2:
%
d,time3:
%
d,time4:
%
d"
%
(
time0
,
time1
,
time2
,
time3
,
time4
))
...
...
trans2es/utils/user_transfer.py
View file @
61cad976
...
...
@@ -74,26 +74,16 @@ class UserTransfer(object):
try
:
res
[
"tag_list"
]
=
instance
.
get_user_tag_id_list
()
res
[
"attention_user_id_list"
]
=
cls
.
get_follow_user_id_list
(
userInstance
=
instance
)
# res["attention_group_id_list"] = instance.get_attention_group_id_list()
res
[
"attention_group_id_list"
]
=
instance
.
get_attention_group_id_list
()
res
[
"pick_user_id_list"
]
=
instance
.
get_pick_user_id_list
()
res
[
"attention_pictorial_id_list"
]
=
instance
.
get_attention_pictorial_id_list
()
# res["same_group_user_id_list"] = instance.get_same_group_user_id_list()
res
[
"same_pictorial_user_id_list"
]
=
instance
.
get_same_pictorial_user_id_list
()
res
[
"same_group_user_id_list"
]
=
instance
.
get_same_group_user_id_list
()
except
:
logging
.
error
(
"catch exception,err_msg:
%
s"
%
traceback
.
format_exc
())
res
[
"tag_list"
]
=
[]
res
[
"attention_user_id_list"
]
=
[]
#
res["attention_group_id_list"] = []
res
[
"attention_group_id_list"
]
=
[]
res
[
"pick_user_id_list"
]
=
[]
# res["same_group_user_id_list"] = []
res
[
"attention_pictorial_id_list"
]
=
[]
res
[
"same_pictorial_user_id_list"
]
=
[]
res
[
"same_group_user_id_list"
]
=
[]
return
res
except
:
...
...
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