Commit 445ee197 authored by 李小芳's avatar 李小芳

Merge branch 'online' into 'master'

Online

See merge request !17
parents 370f250a 8fad69aa
No preview for this file type
...@@ -138,35 +138,36 @@ class TypeInfo(object): ...@@ -138,35 +138,36 @@ class TypeInfo(object):
data = self.get_data_func(instance) data = self.get_data_func(instance)
(item_dict, suggest_list) = data (item_dict, suggest_list) = data
if item_dict["tips_name_type"] == 4: if item_dict:
instance.name = instance.keyword if item_dict["tips_name_type"] == 4:
instance.name = instance.keyword
resemble_list = WordResemble.get_word_resemble_list(str(instance.name))
resemble_list = WordResemble.get_word_resemble_list(str(instance.name))
for suggest_item in suggest_list:
suggest_dict = copy.deepcopy(item_dict) for suggest_item in suggest_list:
suggest_dict["suggest_type"] = suggest_item["suggest_type"] suggest_dict = copy.deepcopy(item_dict)
suggest_dict["offline_score"] = suggest_item["word_weight"] + suggest_dict["order_weight"] suggest_dict["suggest_type"] = suggest_item["suggest_type"]
suggest_dict["id"] = str(suggest_dict["id"]) + "_" + str(suggest_item["cur_index"]) suggest_dict["offline_score"] = suggest_item["word_weight"] + suggest_dict["order_weight"]
suggest_dict["suggest"] = { suggest_dict["id"] = str(suggest_dict["id"]) + "_" + str(suggest_item["cur_index"])
"input": suggest_item["input"], suggest_dict["suggest"] = {
"weight": int(suggest_dict["offline_score"]), "input": suggest_item["input"],
"contexts": { "weight": int(suggest_dict["offline_score"]),
"is_online": suggest_dict["is_online"] "contexts": {
"is_online": suggest_dict["is_online"]
}
} }
} data_list.append(suggest_dict)
data_list.append(suggest_dict) if item_dict["tips_name_type"] != 4:
if item_dict["tips_name_type"] != 4: for resemble_item in resemble_list:
for resemble_item in resemble_list: resemble_dict = copy.deepcopy(suggest_dict)
resemble_dict = copy.deepcopy(suggest_dict) resemble_dict["id"] = suggest_dict["id"] + "_" + getMd5Digest(resemble_item)
resemble_dict["id"] = suggest_dict["id"] + "_" + getMd5Digest(resemble_item) resemble_dict["ori_name"] = resemble_item
resemble_dict["ori_name"] = resemble_item resemble_dict["results_num"] = QueryWordAttr.get_query_results_num(resemble_item)
resemble_dict["results_num"] = QueryWordAttr.get_query_results_num(resemble_item) resemble_dict["offline_score"] = 0
resemble_dict["offline_score"] = 0 resemble_dict["suggest"]["weight"] = 0
resemble_dict["suggest"]["weight"] = 0 data_list.append(resemble_dict)
data_list.append(resemble_dict) else:
else: pass
pass
except Exception: except Exception:
traceback.print_exc() traceback.print_exc()
logging.exception('bulk_get_data for name={}, doc_type={}, pk={}'.format( logging.exception('bulk_get_data for name={}, doc_type={}, pk={}'.format(
...@@ -272,91 +273,8 @@ def get_type_info_map(): ...@@ -272,91 +273,8 @@ def get_type_info_map():
return _get_type_info_map_result return _get_type_info_map_result
type_info_list = [ type_info_list = [
TypeInfo(
name='suggest',
type='doctor_tips', # doctor
model=doctor.Doctor,
query_deferred=lambda: doctor.Doctor.objects.all().filter(doctor_type=DOCTOR_TYPE.DOCTOR).query,
get_data_func=DoctorTransfer.get_doctor_suggest_data_list,
bulk_insert_chunk_size=100,
round_insert_chunk_size=5,
round_insert_period=2,
),
TypeInfo(
name='suggest',
type='hospital_tips', # hospital
model=doctor.Hospital,
# query_deferred=lambda: doctor.Doctor.objects.all().filter(doctor_type=DOCTOR_TYPE.OFFICER).query,
query_deferred=lambda: doctor.Hospital.objects.all().query,
get_data_func=HospitalTransfer.get_hospital_suggest_data_list,
bulk_insert_chunk_size=100,
round_insert_chunk_size=5,
round_insert_period=2,
),
TypeInfo(
name='suggest',
type='itemwiki_tips', # itemwiki
model=itemwiki.ItemWiki,
query_deferred=lambda: itemwiki.ItemWiki.objects.all().query,
get_data_func=ItemWikiTransfer.get_itemwiki_suggest_data_list,
bulk_insert_chunk_size=100,
round_insert_chunk_size=5,
round_insert_period=2,
),
TypeInfo(
name='suggest',
type='collectwiki_tips', # collectwiki
model=collectwiki.CollectWiki,
query_deferred=lambda: collectwiki.CollectWiki.objects.all().query,
get_data_func=CollectWikiTransfer.get_collectwiki_suggest_data_list,
bulk_insert_chunk_size=100,
round_insert_chunk_size=5,
round_insert_period=2,
),
TypeInfo(
name='suggest',
type='brandwiki_tips', # brandwiki
model=brandwiki.BrandWiki,
query_deferred=lambda: brandwiki.BrandWiki.objects.all().query,
get_data_func=BrandWikiTransfer.get_brandwiki_suggest_data_list,
bulk_insert_chunk_size=100,
round_insert_chunk_size=5,
round_insert_period=2,
),
TypeInfo(
name='suggest',
type='productwiki_tips', # productwiki
model=productwiki.ProductWiki,
query_deferred=lambda: productwiki.ProductWiki.objects.all().query,
get_data_func=ProduceWikiTransfer.get_productwiki_suggest_data_list,
bulk_insert_chunk_size=100,
round_insert_chunk_size=5,
round_insert_period=2,
),
TypeInfo(
name='suggest',
type='tag_tips', # tag
model=tag.Tag,
query_deferred=lambda: tag.Tag.objects.all().filter(
tag_type__in=[TAG_TYPE.BODY_PART, TAG_TYPE.BODY_PART_SUB_ITEM, TAG_TYPE.ITEM_WIKI]).query,
get_data_func=TagTransfer.get_tag_suggest_data_list,
bulk_insert_chunk_size=100,
round_insert_chunk_size=5,
round_insert_period=2,
),
TypeInfo(
name='suggest',
type='wordrel_tips', # tag
model=wordresemble.WordRel,
query_deferred=lambda: wordresemble.WordRel.objects.filter(
category__in=[0, 1, 2, 9, 10, 11, 12, 13, 14, 15, 16, 17]).query,
get_data_func=WordResemble.get_resemble_list,
bulk_insert_chunk_size=100,
round_insert_chunk_size=5,
round_insert_period=2,
),
# TypeInfo( # TypeInfo(
# name='suggest-v1', # 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=DOCTOR_TYPE.DOCTOR).query, # query_deferred=lambda: doctor.Doctor.objects.all().filter(doctor_type=DOCTOR_TYPE.DOCTOR).query,
...@@ -366,7 +284,7 @@ def get_type_info_map(): ...@@ -366,7 +284,7 @@ def get_type_info_map():
# round_insert_period=2, # round_insert_period=2,
# ), # ),
# TypeInfo( # TypeInfo(
# name='suggest-v1', # name='suggest',
# type='hospital_tips', # hospital # type='hospital_tips', # hospital
# model=doctor.Hospital, # model=doctor.Hospital,
# # query_deferred=lambda: doctor.Doctor.objects.all().filter(doctor_type=DOCTOR_TYPE.OFFICER).query, # # query_deferred=lambda: doctor.Doctor.objects.all().filter(doctor_type=DOCTOR_TYPE.OFFICER).query,
...@@ -377,7 +295,7 @@ def get_type_info_map(): ...@@ -377,7 +295,7 @@ def get_type_info_map():
# round_insert_period=2, # round_insert_period=2,
# ), # ),
# TypeInfo( # TypeInfo(
# name='suggest-v1', # name='suggest',
# type='itemwiki_tips', # itemwiki # type='itemwiki_tips', # itemwiki
# model=itemwiki.ItemWiki, # model=itemwiki.ItemWiki,
# query_deferred=lambda: itemwiki.ItemWiki.objects.all().query, # query_deferred=lambda: itemwiki.ItemWiki.objects.all().query,
...@@ -387,7 +305,7 @@ def get_type_info_map(): ...@@ -387,7 +305,7 @@ def get_type_info_map():
# round_insert_period=2, # round_insert_period=2,
# ), # ),
# TypeInfo( # TypeInfo(
# name='suggest-v1', # name='suggest',
# type='collectwiki_tips', # collectwiki # type='collectwiki_tips', # collectwiki
# model=collectwiki.CollectWiki, # model=collectwiki.CollectWiki,
# query_deferred=lambda: collectwiki.CollectWiki.objects.all().query, # query_deferred=lambda: collectwiki.CollectWiki.objects.all().query,
...@@ -397,7 +315,7 @@ def get_type_info_map(): ...@@ -397,7 +315,7 @@ def get_type_info_map():
# round_insert_period=2, # round_insert_period=2,
# ), # ),
# TypeInfo( # TypeInfo(
# name='suggest-v1', # name='suggest',
# type='brandwiki_tips', # brandwiki # type='brandwiki_tips', # brandwiki
# model=brandwiki.BrandWiki, # model=brandwiki.BrandWiki,
# query_deferred=lambda: brandwiki.BrandWiki.objects.all().query, # query_deferred=lambda: brandwiki.BrandWiki.objects.all().query,
...@@ -407,7 +325,7 @@ def get_type_info_map(): ...@@ -407,7 +325,7 @@ def get_type_info_map():
# round_insert_period=2, # round_insert_period=2,
# ), # ),
# TypeInfo( # TypeInfo(
# name='suggest-v1', # name='suggest',
# type='productwiki_tips', # productwiki # type='productwiki_tips', # productwiki
# model=productwiki.ProductWiki, # model=productwiki.ProductWiki,
# query_deferred=lambda: productwiki.ProductWiki.objects.all().query, # query_deferred=lambda: productwiki.ProductWiki.objects.all().query,
...@@ -417,7 +335,7 @@ def get_type_info_map(): ...@@ -417,7 +335,7 @@ def get_type_info_map():
# round_insert_period=2, # round_insert_period=2,
# ), # ),
# TypeInfo( # TypeInfo(
# name='suggest-v1', # name='suggest',
# type='tag_tips', # tag # type='tag_tips', # tag
# model=tag.Tag, # model=tag.Tag,
# query_deferred=lambda: tag.Tag.objects.all().filter( # query_deferred=lambda: tag.Tag.objects.all().filter(
...@@ -428,16 +346,99 @@ def get_type_info_map(): ...@@ -428,16 +346,99 @@ def get_type_info_map():
# round_insert_period=2, # round_insert_period=2,
# ), # ),
# TypeInfo( # TypeInfo(
# name='suggest-v1', # name='suggest',
# type='wordrel_tips', # tag # type='wordrel_tips', # tag
# model=wordresemble.WordRel, # model=wordresemble.WordRel,
# query_deferred=lambda: wordresemble.WordRel.objects.filter( # query_deferred=lambda: wordresemble.WordRel.objects.filter(
# category__in=[0, 1, 2, 9, 10, 11, 12, 13, 14, 15, 16, 17]).query, # category__in=[13, 12, 11, 9, 1]).query,
# get_data_func=WordResemble.get_resemble_list, # get_data_func=WordResemble.get_resemble_list,
# bulk_insert_chunk_size=100, # bulk_insert_chunk_size=100,
# round_insert_chunk_size=5, # round_insert_chunk_size=5,
# round_insert_period=2, # round_insert_period=2,
# ) # ),
TypeInfo(
name='suggest-v1',
type='doctor_tips', # doctor
model=doctor.Doctor,
query_deferred=lambda: doctor.Doctor.objects.all().filter(doctor_type=DOCTOR_TYPE.DOCTOR).query,
get_data_func=DoctorTransfer.get_doctor_suggest_data_list,
bulk_insert_chunk_size=100,
round_insert_chunk_size=5,
round_insert_period=2,
),
TypeInfo(
name='suggest-v1',
type='hospital_tips', # hospital
model=doctor.Hospital,
# query_deferred=lambda: doctor.Doctor.objects.all().filter(doctor_type=DOCTOR_TYPE.OFFICER).query,
query_deferred=lambda: doctor.Hospital.objects.all().query,
get_data_func=HospitalTransfer.get_hospital_suggest_data_list,
bulk_insert_chunk_size=100,
round_insert_chunk_size=5,
round_insert_period=2,
),
TypeInfo(
name='suggest-v1',
type='itemwiki_tips', # itemwiki
model=itemwiki.ItemWiki,
query_deferred=lambda: itemwiki.ItemWiki.objects.all().query,
get_data_func=ItemWikiTransfer.get_itemwiki_suggest_data_list,
bulk_insert_chunk_size=100,
round_insert_chunk_size=5,
round_insert_period=2,
),
TypeInfo(
name='suggest-v1',
type='collectwiki_tips', # collectwiki
model=collectwiki.CollectWiki,
query_deferred=lambda: collectwiki.CollectWiki.objects.all().query,
get_data_func=CollectWikiTransfer.get_collectwiki_suggest_data_list,
bulk_insert_chunk_size=100,
round_insert_chunk_size=5,
round_insert_period=2,
),
TypeInfo(
name='suggest-v1',
type='brandwiki_tips', # brandwiki
model=brandwiki.BrandWiki,
query_deferred=lambda: brandwiki.BrandWiki.objects.all().query,
get_data_func=BrandWikiTransfer.get_brandwiki_suggest_data_list,
bulk_insert_chunk_size=100,
round_insert_chunk_size=5,
round_insert_period=2,
),
TypeInfo(
name='suggest-v1',
type='productwiki_tips', # productwiki
model=productwiki.ProductWiki,
query_deferred=lambda: productwiki.ProductWiki.objects.all().query,
get_data_func=ProduceWikiTransfer.get_productwiki_suggest_data_list,
bulk_insert_chunk_size=100,
round_insert_chunk_size=5,
round_insert_period=2,
),
TypeInfo(
name='suggest-v1',
type='tag_tips', # tag
model=tag.Tag,
query_deferred=lambda: tag.Tag.objects.all().filter(
tag_type__in=[TAG_TYPE.BODY_PART, TAG_TYPE.BODY_PART_SUB_ITEM, TAG_TYPE.ITEM_WIKI]).query,
get_data_func=TagTransfer.get_tag_suggest_data_list,
bulk_insert_chunk_size=100,
round_insert_chunk_size=5,
round_insert_period=2,
),
TypeInfo(
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 = {
......
...@@ -81,21 +81,27 @@ class DoctorTransfer(object): ...@@ -81,21 +81,27 @@ class DoctorTransfer(object):
def get_doctor_suggest_data_list(cls, instance): def get_doctor_suggest_data_list(cls, instance):
try: try:
ret_list = list() ret_list = list()
keyword = instance.name
item_dict = dict() cut_bool = False
item_dict["id"] = getMd5Digest(str(instance.name)) cut_word = ["下线", "停用", "已经下线", "账号停用"]
item_dict["ori_name"] = instance.name for i in cut_word:
item_dict["is_online"] = instance.is_online if keyword.find(i) >= 0:
cut_bool = True
item_dict["order_weight"] = QueryWordAttr.get_doctor_query_word_weight(instance.name) if cut_bool == False:
item_dict["results_num"] = QueryWordAttr.get_query_results_num(instance.name) item_dict = dict()
item_dict["type_flag"] = get_tips_word_type(instance.name) item_dict["id"] = getMd5Digest(str(instance.name))
item_dict["offline_score"] = 0.0 item_dict["ori_name"] = instance.name
item_dict["tips_name_type"] = 2 item_dict["is_online"] = instance.is_online
ret_list.append(item_dict) item_dict["order_weight"] = QueryWordAttr.get_doctor_query_word_weight(instance.name)
item_dict["results_num"] = QueryWordAttr.get_query_results_num(instance.name)
suggest_list = get_tips_suggest_list(instance.name) item_dict["type_flag"] = get_tips_word_type(instance.name)
item_dict["offline_score"] = 0.0
item_dict["tips_name_type"] = 2
ret_list.append(item_dict)
suggest_list = get_tips_suggest_list(instance.name)
return (item_dict, suggest_list) return (item_dict, suggest_list)
except: except:
......
...@@ -21,21 +21,26 @@ class HospitalTransfer(object): ...@@ -21,21 +21,26 @@ class HospitalTransfer(object):
ret_list = list() ret_list = list()
name = instance.name.strip() name = instance.name.strip()
cut_bool = False
item_dict = dict() cut_word = ["下线", "停用", "已经下线", "账号停用"]
item_dict["id"] = getMd5Digest(str(name)) for i in cut_word:
item_dict["ori_name"] = name if name.find(i) >= 0:
item_dict["is_online"] = instance.is_online cut_bool = True
if cut_bool == False:
item_dict["order_weight"] = QueryWordAttr.get_hospital_query_word_weight(name) item_dict = dict()
item_dict["results_num"] = QueryWordAttr.get_query_results_num(name) item_dict["id"] = getMd5Digest(str(name))
item_dict["type_flag"] = get_tips_word_type(name) item_dict["ori_name"] = name
item_dict["offline_score"] = 0.0 item_dict["is_online"] = instance.is_online
item_dict["tips_name_type"] = 1
item_dict["order_weight"] = QueryWordAttr.get_hospital_query_word_weight(name)
ret_list.append(item_dict) item_dict["results_num"] = QueryWordAttr.get_query_results_num(name)
item_dict["type_flag"] = get_tips_word_type(name)
suggest_list = get_tips_suggest_list(name) item_dict["offline_score"] = 0.0
item_dict["tips_name_type"] = 1
ret_list.append(item_dict)
suggest_list = get_tips_suggest_list(name)
return (item_dict, suggest_list) return (item_dict, suggest_list)
except: except:
......
...@@ -91,21 +91,27 @@ class TagTransfer(object): ...@@ -91,21 +91,27 @@ class TagTransfer(object):
def get_tag_suggest_data_list(cls, instance): def get_tag_suggest_data_list(cls, instance):
try: try:
ret_list = list() ret_list = list()
keyword = instance.name
item_dict = dict() cut_bool = False
item_dict["id"] = getMd5Digest(str(instance.name)) cut_word = ["下线", "停用", "已经下线", "账号停用"]
item_dict["ori_name"] = instance.name for i in cut_word:
item_dict["is_online"] = instance.is_online if keyword.find(i) >= 0:
cut_bool = True
item_dict["order_weight"] = QueryWordAttr.get_project_query_word_weight(instance.name) if cut_bool == False:
item_dict["results_num"] = QueryWordAttr.get_query_results_num(instance.name) item_dict = dict()
item_dict["type_flag"] = get_tips_word_type(instance.name) item_dict["id"] = getMd5Digest(str(instance.name))
item_dict["offline_score"] = 0.0 item_dict["ori_name"] = instance.name
item_dict["tips_name_type"] = 0 item_dict["is_online"] = instance.is_online
ret_list.append(item_dict) item_dict["order_weight"] = QueryWordAttr.get_project_query_word_weight(instance.name)
item_dict["results_num"] = QueryWordAttr.get_query_results_num(instance.name)
suggest_list = get_tips_suggest_list(instance.name) item_dict["type_flag"] = get_tips_word_type(instance.name)
item_dict["offline_score"] = 0.0
item_dict["tips_name_type"] = 0
ret_list.append(item_dict)
suggest_list = get_tips_suggest_list(instance.name)
return (item_dict, suggest_list) return (item_dict, suggest_list)
except: except:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment