Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
S
search_tips
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
rank
search_tips
Commits
b9fc4145
Commit
b9fc4145
authored
Feb 10, 2020
by
lixiaofang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add
parent
2d063776
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
144 additions
and
85 deletions
+144
-85
type_info.py
trans2es/type_info.py
+95
-85
search_query.py
trans2es/utils/search_query.py
+49
-0
No files found.
trans2es/type_info.py
View file @
b9fc4145
...
@@ -22,6 +22,7 @@ from trans2es.utils.brandwiki_transfer import BrandWikiTransfer
...
@@ -22,6 +22,7 @@ from trans2es.utils.brandwiki_transfer import BrandWikiTransfer
from
trans2es.utils.productwiki_transfer
import
ProduceWikiTransfer
from
trans2es.utils.productwiki_transfer
import
ProduceWikiTransfer
from
trans2es.utils.tag_transfer
import
TagTransfer
from
trans2es.utils.tag_transfer
import
TagTransfer
from
trans2es.utils.wordresemble
import
WordResemble
from
trans2es.utils.wordresemble
import
WordResemble
from
trans2es.utils.search_query
import
SearchWord
from
libs.es
import
ESPerform
from
libs.es
import
ESPerform
from
libs.tools
import
tzlc
,
getMd5Digest
from
libs.tools
import
tzlc
,
getMd5Digest
from
trans2es.commons.words_utils
import
QueryWordAttr
from
trans2es.commons.words_utils
import
QueryWordAttr
...
@@ -286,7 +287,8 @@ def get_type_info_map():
...
@@ -286,7 +287,8 @@ def get_type_info_map():
name
=
'suggest'
,
name
=
'suggest'
,
type
=
'doctor_tips'
,
# doctor
type
=
'doctor_tips'
,
# doctor
model
=
doctor
.
Doctor
,
model
=
doctor
.
Doctor
,
query_deferred
=
lambda
:
doctor
.
Doctor
.
objects
.
all
()
.
filter
(
doctor_type__in
=
[
DOCTOR_TYPE
.
DOCTOR
,
DOCTOR_TYPE
.
OFFICER
])
.
query
,
query_deferred
=
lambda
:
doctor
.
Doctor
.
objects
.
all
()
.
filter
(
doctor_type__in
=
[
DOCTOR_TYPE
.
DOCTOR
,
DOCTOR_TYPE
.
OFFICER
])
.
query
,
get_data_func
=
DoctorTransfer
.
get_doctor_suggest_data_list
,
get_data_func
=
DoctorTransfer
.
get_doctor_suggest_data_list
,
bulk_insert_chunk_size
=
100
,
bulk_insert_chunk_size
=
100
,
round_insert_chunk_size
=
5
,
round_insert_chunk_size
=
5
,
...
@@ -365,89 +367,97 @@ def get_type_info_map():
...
@@ -365,89 +367,97 @@ def get_type_info_map():
round_insert_chunk_size
=
5
,
round_insert_chunk_size
=
5
,
round_insert_period
=
2
,
round_insert_period
=
2
,
),
),
# TypeInfo(
TypeInfo
(
# name='suggest-v1',
name
=
'suggest'
,
# type='doctor_tips', # doctor
type
=
'search_query'
,
# tag
# model=doctor.Doctor,
get_data_func
=
SearchWord
.
get_search_query
,
# query_deferred=lambda: doctor.Doctor.objects.all().filter(doctor_type=DOCTOR_TYPE.DOCTOR).query,
bulk_insert_chunk_size
=
100
,
# get_data_func=DoctorTransfer.get_doctor_suggest_data_list,
round_insert_chunk_size
=
5
,
# bulk_insert_chunk_size=100,
round_insert_period
=
2
,
# round_insert_chunk_size=5,
),
# round_insert_period=2,
TypeInfo
(
# ),
name
=
'suggest-v1'
,
# TypeInfo(
type
=
'doctor_tips'
,
# doctor
# name='suggest-v1',
model
=
doctor
.
Doctor
,
# type='hospital_tips', # hospital
query_deferred
=
lambda
:
doctor
.
Doctor
.
objects
.
all
()
.
filter
(
doctor_type
=
DOCTOR_TYPE
.
DOCTOR
)
.
query
,
# model=doctor.Hospital,
get_data_func
=
DoctorTransfer
.
get_doctor_suggest_data_list
,
# # query_deferred=lambda: doctor.Doctor.objects.all().filter(doctor_type=DOCTOR_TYPE.OFFICER).query,
bulk_insert_chunk_size
=
100
,
# query_deferred=lambda: doctor.Hospital.objects.all().query,
round_insert_chunk_size
=
5
,
# get_data_func=HospitalTransfer.get_hospital_suggest_data_list,
round_insert_period
=
2
,
# bulk_insert_chunk_size=100,
),
# round_insert_chunk_size=5,
TypeInfo
(
# round_insert_period=2,
name
=
'suggest-v1'
,
# ),
type
=
'hospital_tips'
,
# hospital
# TypeInfo(
model
=
doctor
.
Hospital
,
# name='suggest-v1',
# query_deferred=lambda: doctor.Doctor.objects.all().filter(doctor_type=DOCTOR_TYPE.OFFICER).query,
# type='itemwiki_tips', # itemwiki
query_deferred
=
lambda
:
doctor
.
Hospital
.
objects
.
all
()
.
query
,
# model=itemwiki.ItemWiki,
get_data_func
=
HospitalTransfer
.
get_hospital_suggest_data_list
,
# query_deferred=lambda: itemwiki.ItemWiki.objects.all().query,
bulk_insert_chunk_size
=
100
,
# get_data_func=ItemWikiTransfer.get_itemwiki_suggest_data_list,
round_insert_chunk_size
=
5
,
# bulk_insert_chunk_size=100,
round_insert_period
=
2
,
# round_insert_chunk_size=5,
),
# round_insert_period=2,
TypeInfo
(
# ),
name
=
'suggest-v1'
,
# TypeInfo(
type
=
'itemwiki_tips'
,
# itemwiki
# name='suggest-v1',
model
=
itemwiki
.
ItemWiki
,
# type='collectwiki_tips', # collectwiki
query_deferred
=
lambda
:
itemwiki
.
ItemWiki
.
objects
.
all
()
.
query
,
# model=collectwiki.CollectWiki,
get_data_func
=
ItemWikiTransfer
.
get_itemwiki_suggest_data_list
,
# query_deferred=lambda: collectwiki.CollectWiki.objects.all().query,
bulk_insert_chunk_size
=
100
,
# get_data_func=CollectWikiTransfer.get_collectwiki_suggest_data_list,
round_insert_chunk_size
=
5
,
# bulk_insert_chunk_size=100,
round_insert_period
=
2
,
# round_insert_chunk_size=5,
),
# round_insert_period=2,
TypeInfo
(
# ),
name
=
'suggest-v1'
,
# TypeInfo(
type
=
'collectwiki_tips'
,
# collectwiki
# name='suggest-v1',
model
=
collectwiki
.
CollectWiki
,
# type='brandwiki_tips', # brandwiki
query_deferred
=
lambda
:
collectwiki
.
CollectWiki
.
objects
.
all
()
.
query
,
# model=brandwiki.BrandWiki,
get_data_func
=
CollectWikiTransfer
.
get_collectwiki_suggest_data_list
,
# query_deferred=lambda: brandwiki.BrandWiki.objects.all().query,
bulk_insert_chunk_size
=
100
,
# get_data_func=BrandWikiTransfer.get_brandwiki_suggest_data_list,
round_insert_chunk_size
=
5
,
# bulk_insert_chunk_size=100,
round_insert_period
=
2
,
# round_insert_chunk_size=5,
),
# round_insert_period=2,
TypeInfo
(
# ),
name
=
'suggest-v1'
,
# TypeInfo(
type
=
'brandwiki_tips'
,
# brandwiki
# name='suggest-v1',
model
=
brandwiki
.
BrandWiki
,
# type='productwiki_tips', # productwiki
query_deferred
=
lambda
:
brandwiki
.
BrandWiki
.
objects
.
all
()
.
query
,
# model=productwiki.ProductWiki,
get_data_func
=
BrandWikiTransfer
.
get_brandwiki_suggest_data_list
,
# query_deferred=lambda: productwiki.ProductWiki.objects.all().query,
bulk_insert_chunk_size
=
100
,
# get_data_func=ProduceWikiTransfer.get_productwiki_suggest_data_list,
round_insert_chunk_size
=
5
,
# bulk_insert_chunk_size=100,
round_insert_period
=
2
,
# round_insert_chunk_size=5,
),
# round_insert_period=2,
TypeInfo
(
# ),
name
=
'suggest-v1'
,
# TypeInfo(
type
=
'productwiki_tips'
,
# productwiki
# name='suggest-v1',
model
=
productwiki
.
ProductWiki
,
# type='tag_tips', # tag
query_deferred
=
lambda
:
productwiki
.
ProductWiki
.
objects
.
all
()
.
query
,
# model=tag.Tag,
get_data_func
=
ProduceWikiTransfer
.
get_productwiki_suggest_data_list
,
# query_deferred=lambda: tag.Tag.objects.all().filter(
bulk_insert_chunk_size
=
100
,
# tag_type__in=[TAG_TYPE.BODY_PART, TAG_TYPE.BODY_PART_SUB_ITEM, TAG_TYPE.ITEM_WIKI]).query,
round_insert_chunk_size
=
5
,
# get_data_func=TagTransfer.get_tag_suggest_data_list,
round_insert_period
=
2
,
# bulk_insert_chunk_size=100,
),
# round_insert_chunk_size=5,
TypeInfo
(
# round_insert_period=2,
name
=
'suggest-v1'
,
# ),
type
=
'tag_tips'
,
# tag
# TypeInfo(
model
=
tag
.
Tag
,
# name='suggest-v1',
query_deferred
=
lambda
:
tag
.
Tag
.
objects
.
all
()
.
filter
(
# type='wordrel_tips', # tag
tag_type__in
=
[
TAG_TYPE
.
BODY_PART
,
TAG_TYPE
.
BODY_PART_SUB_ITEM
,
TAG_TYPE
.
ITEM_WIKI
])
.
query
,
# model=wordresemble.WordRel,
get_data_func
=
TagTransfer
.
get_tag_suggest_data_list
,
# query_deferred=lambda: wordresemble.WordRel.objects.filter(
bulk_insert_chunk_size
=
100
,
# category__in=[13, 12, 11, 9, 1]).query,
round_insert_chunk_size
=
5
,
# get_data_func=WordResemble.get_resemble_list,
round_insert_period
=
2
,
# bulk_insert_chunk_size=100,
),
# round_insert_chunk_size=5,
TypeInfo
(
# round_insert_period=2,
name
=
'suggest-v1'
,
# )
type
=
'wordrel_tips'
,
# tag
model
=
wordresemble
.
WordRel
,
query_deferred
=
lambda
:
wordresemble
.
WordRel
.
objects
.
filter
(
category__in
=
[
13
,
12
,
11
,
9
,
1
])
.
query
,
get_data_func
=
WordResemble
.
get_resemble_list
,
bulk_insert_chunk_size
=
100
,
round_insert_chunk_size
=
5
,
round_insert_period
=
2
,
)
]
]
type_info_map
=
{
type_info_map
=
{
...
@@ -550,7 +560,7 @@ def tips_attr_sync_to_redis_type_info_map():
...
@@ -550,7 +560,7 @@ def tips_attr_sync_to_redis_type_info_map():
TypeInfo
(
TypeInfo
(
name
=
'suggest'
,
name
=
'suggest'
,
type
=
'wordresemble_results_num'
,
# api_wordrelresemble
type
=
'wordresemble_results_num'
,
# api_wordrelresemble
model
=
wordresemble
.
WordRel
,
model
=
wordresemble
.
WordRel
,
query_deferred
=
lambda
:
wordresemble
.
WordRel
.
objects
.
filter
(
query_deferred
=
lambda
:
wordresemble
.
WordRel
.
objects
.
filter
(
category__in
=
[
13
,
12
,
11
,
9
,
1
])
.
query
,
category__in
=
[
13
,
12
,
11
,
9
,
1
])
.
query
,
get_data_func
=
WordResemble
.
set_data_to_redis
,
get_data_func
=
WordResemble
.
set_data_to_redis
,
...
...
trans2es/utils/search_query.py
0 → 100644
View file @
b9fc4145
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import
os
import
sys
import
logging
import
traceback
import
base64
from
libs.tools
import
tzlc
,
getMd5Digest
from
libs.es
import
ESPerform
from
libs.cache
import
redis_client
import
json
from
django.conf
import
settings
from
trans2es.models
import
wordresemble
from
trans2es.commons.words_utils
import
QueryWordAttr
,
get_tips_word_type
from
trans2es.commons.commons
import
get_tips_suggest_list
from
trans2es.utils.doctor_transfer
import
DoctorTransfer
from
trans2es.utils.itemwiki_transfer
import
ItemWikiTransfer
from
trans2es.utils.tag_transfer
import
TagTransfer
class
SearchWord
(
object
):
@classmethod
def
get_search_query
(
self
):
try
:
##先拿到所有存在redis的数据存进es
key
=
"search_tips_save_query_word"
data
=
redis_client
.
get
(
key
)
if
data
:
redis_data
=
json
.
loads
(
data
,
encoding
=
"utf-8"
)
for
key
,
value
in
redis_data
.
items
():
ret_list
=
list
()
item_dict
=
dict
()
item_dict
[
"id"
]
=
getMd5Digest
(
str
(
key
))
item_dict
[
"ori_name"
]
=
key
item_dict
[
"is_online"
]
=
1
item_dict
[
"order_weight"
]
=
QueryWordAttr
.
get_project_query_word_weight
(
key
)
item_dict
[
"results_num"
]
=
QueryWordAttr
.
get_query_results_num
(
key
)
item_dict
[
"type_flag"
]
=
get_tips_word_type
(
key
)
item_dict
[
"offline_score"
]
=
0.0
item_dict
[
"tips_name_type"
]
=
5
ret_list
.
append
(
item_dict
)
suggest_list
=
get_tips_suggest_list
(
str
(
key
)
.
lower
())
return
(
item_dict
,
suggest_list
)
except
:
logging
.
error
(
"catch exception,err_msg:
%
s"
%
traceback
.
format_exc
())
return
([],
[])
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