Commit 53e88b81 authored by lixiaofang's avatar lixiaofang

灰度

parent 80bb4be3
...@@ -78,8 +78,6 @@ def get_suggest_tips(query, lat, lng, offset=0, size=50, device_id=None): ...@@ -78,8 +78,6 @@ def get_suggest_tips(query, lat, lng, offset=0, size=50, device_id=None):
if hit_item["_source"]["ori_name"] not in have_read_tips_set: if hit_item["_source"]["ori_name"] not in have_read_tips_set:
have_read_tips_set.add(hit_item["_source"]["ori_name"]) have_read_tips_set.add(hit_item["_source"]["ori_name"])
highlight_marks = u'<ems>%s</ems>' % query highlight_marks = u'<ems>%s</ems>' % query
# hit_item["_source"]["highlight_name"] = hit_item["_source"]["ori_name"].replace(query,
# highlight_marks)
hit_item["_source"]["highlight_name"] = set_highlihgt(query, hit_item["_source"]["ori_name"]) hit_item["_source"]["highlight_name"] = set_highlihgt(query, hit_item["_source"]["ori_name"])
if hit_item["_source"]["type_flag"] == "hospital": if hit_item["_source"]["type_flag"] == "hospital":
if lat is not None and lng is not None and lat != 0.0 and lng != 0.0: if lat is not None and lng is not None and lat != 0.0 and lng != 0.0:
...@@ -130,41 +128,27 @@ def get_suggest_tips(query, lat, lng, offset=0, size=50, device_id=None): ...@@ -130,41 +128,27 @@ def get_suggest_tips(query, lat, lng, offset=0, size=50, device_id=None):
ret_list.extend(get_tag_wiki_data) ret_list.extend(get_tag_wiki_data)
ret_list.extend(get_doctor_hospital_data) ret_list.extend(get_doctor_hospital_data)
if len(ret_list) >= 50: if gray_number == 3:
# 在去掉强加权的逻辑上根据词频和tag转化率排序后再前段强加权
if gray_number in (1, 2): front_data = []
logging.info("get-----------------ret_list:%s" % ret_list) end_data = []
equal_data = []
return ret_list[:50] need_change_sort = ret_list[:30]
else: for item in need_change_sort:
logging.info("get+++++++++++++++++ret_list:%s" % ret_list) ori_name = item.get("ori_name", None)
if query == ori_name:
# 在去掉强加权的逻辑上根据词频和tag转化率排序后再前段强加权 equal_data.append(item)
front_data = [] elif query == ori_name[:len(query)]:
end_data = [] front_data.append(item)
equal_data = [] else:
need_change_sort = ret_list[:30] end_data.append(item)
for item in need_change_sort: equal_data.extend(front_data)
ori_name = item.get("ori_name", None) equal_data.extend(end_data)
if query == ori_name: equal_data.extend(ret_list[30:])
equal_data.append(item) ret_list = equal_data
elif query == ori_name[:len(query)]:
front_data.append(item)
else:
end_data.append(item)
logging.info("get+++++++++++++++++equal_data:%s" % equal_data) if len(ret_list) >= 50:
logging.info("get+++++++++++++++++front_data:%s" % front_data) return ret_list[:50]
logging.info("get+++++++++++++++++end_data:%s" % end_data)
logging.info("get+++++++++++++++++ret_list:%s" % ret_list)
equal_data.extend(front_data)
equal_data.extend(end_data)
equal_data.extend(ret_list[30:])
ret_list = equal_data
return ret_list
else: else:
query_ret_list = [] query_ret_list = []
wordresemble_ret_list = [] wordresemble_ret_list = []
...@@ -184,7 +168,6 @@ def get_suggest_tips(query, lat, lng, offset=0, size=50, device_id=None): ...@@ -184,7 +168,6 @@ def get_suggest_tips(query, lat, lng, offset=0, size=50, device_id=None):
describe = "约" + str(result_num) + "个结果" if result_num else "" describe = "约" + str(result_num) + "个结果" if result_num else ""
logging.info("get result_num:%s" % result_num) logging.info("get result_num:%s" % result_num)
highlight_marks = u'<ems>%s</ems>' % query highlight_marks = u'<ems>%s</ems>' % query
# highlight_name = ori_name.replace(query, highlight_marks)
highlight_name = set_highlihgt(query, ori_name) highlight_name = set_highlihgt(query, ori_name)
if ori_name == query: if ori_name == query:
query_ret_list.append( query_ret_list.append(
...@@ -204,7 +187,6 @@ def get_suggest_tips(query, lat, lng, offset=0, size=50, device_id=None): ...@@ -204,7 +187,6 @@ def get_suggest_tips(query, lat, lng, offset=0, size=50, device_id=None):
ret_list.extend(wordresemble_ret_list) ret_list.extend(wordresemble_ret_list)
###繁体字删掉,把搜索结果加到简体字上边 ###繁体字删掉,把搜索结果加到简体字上边
fanti_query = [{'痩脸针': "瘦脸针"}] fanti_query = [{'痩脸针': "瘦脸针"}]
for item in ret_list: for item in ret_list:
result_num = [[item['results_num'], list(ret.values())[0], list(ret.keys())[0]] for ret in fanti_query result_num = [[item['results_num'], list(ret.values())[0], list(ret.keys())[0]] for ret in fanti_query
if list(ret.keys())[0] == item['ori_name']] if list(ret.keys())[0] == item['ori_name']]
...@@ -215,12 +197,10 @@ def get_suggest_tips(query, lat, lng, offset=0, size=50, device_id=None): ...@@ -215,12 +197,10 @@ def get_suggest_tips(query, lat, lng, offset=0, size=50, device_id=None):
if item['ori_name'] == result_num[0][1]: if item['ori_name'] == result_num[0][1]:
item['results_num'] += result_num[0][0] item['results_num'] += result_num[0][0]
####
if len(ret_list) >= 50: if len(ret_list) >= 50:
return ret_list[0:50] return ret_list[0:50]
else: else:
return ret_list return ret_list
except: except:
logging.error("catch exception,err_msg:%s" % traceback.format_exc()) logging.error("catch exception,err_msg:%s" % traceback.format_exc())
return list() return list()
......
No preview for this file type
...@@ -29,9 +29,10 @@ class WordRel(models.Model): ...@@ -29,9 +29,10 @@ class WordRel(models.Model):
class WordRelResemble(models.Model): class WordRelResemble(models.Model):
"""近义词数据表 """近义词数据表
""" """
class Meta: class Meta:
app_label = 'api' app_label = 'api'
db_table = 'api_wordrelresemble' db_table = 'api_wordrelresemble'
wordrel = models.ForeignKey(WordRel, related_name='all_resembles') wordrel = models.ForeignKey(WordRel, related_name='all_resembles')
word = models.CharField(u'近义词', max_length=50, db_index=True) word = models.CharField(u'近义词', max_length=50, db_index=True)
\ No newline at end of file
...@@ -368,11 +368,11 @@ def get_type_info_map(): ...@@ -368,11 +368,11 @@ def get_type_info_map():
), ),
TypeInfo( TypeInfo(
name='suggest-v1', name='suggest-v1',
type='doctor_tips', # doctor type='doctor_tips-v1', # doctor
model=doctor.Doctor, model=doctor.Doctor,
query_deferred=lambda: doctor.Doctor.objects.all().filter( query_deferred=lambda: doctor.Doctor.objects.all().filter(
doctor_type__in=[DOCTOR_TYPE.DOCTOR, DOCTOR_TYPE.OFFICER]).query, doctor_type__in=[DOCTOR_TYPE.DOCTOR, DOCTOR_TYPE.OFFICER]).query,
get_data_func=DoctorTransfer.get_doctor_suggest_data_list, get_data_func=DoctorTransferV1.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,
round_insert_period=2, round_insert_period=2,
......
...@@ -10,7 +10,7 @@ from libs.cache import redis_client ...@@ -10,7 +10,7 @@ from libs.cache import redis_client
import json import json
from django.conf import settings from django.conf import settings
from trans2es.commons.commons import get_tips_suggest_list from trans2es.commons.commons import get_tips_suggest_list, get_tips_suggest_list_v1
from trans2es.commons.words_utils import QueryWordAttr, get_tips_word_type from trans2es.commons.words_utils import QueryWordAttr, get_tips_word_type
...@@ -200,7 +200,7 @@ class DoctorTransferV1(object): ...@@ -200,7 +200,7 @@ class DoctorTransferV1(object):
ret_list.append(item_dict) ret_list.append(item_dict)
suggest_list = get_tips_suggest_list(instance.name) suggest_list = get_tips_suggest_list_v1(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