Commit 8ebb295a authored by lixiaofang's avatar lixiaofang

add

parent d4ebe787
...@@ -149,54 +149,55 @@ class WordResemble(object): ...@@ -149,54 +149,55 @@ class WordResemble(object):
QUERY_KEY = "query:{}:search_tips" QUERY_KEY = "query:{}:search_tips"
tips_num_redis_key_prefix = "search_tips:tips_mapping_num" tips_num_redis_key_prefix = "search_tips:tips_mapping_num"
result = wordresemble.WordRel.objects.all().values("keyword", "id") # result = wordresemble.WordRel.objects.all().values("keyword", "id")
for wordrm in result: # for wordrm in result:
query_sql_item = wordresemble.WordRel.objects.filter(keyword=wordrm["keyword"]) logging.info("get instance:%s" % instance.keyword)
for sql_obj in query_sql_item: query_sql_item = wordresemble.WordRel.objects.filter(keyword=instance.keyword)
words = list(sql_obj.all_resembles.all().values_list('word', flat=True)) for sql_obj in query_sql_item:
logging.info("get words:%s" % words) words = list(sql_obj.all_resembles.all().values_list('word', flat=True))
for items in words: logging.info("get words:%s" % words)
# 先存储本体词 for items in words:
query_base64 = base64.b64encode(wordrm["keyword"].encode('utf8')).decode('utf8') # 先存储本体词
key = QUERY_KEY.format(query_base64) query_base64 = base64.b64encode(instance.keyword.encode('utf8')).decode('utf8')
value_name = base64.b64encode(items.encode('utf8')).decode('utf8') key = QUERY_KEY.format(query_base64)
value_name = base64.b64encode(items.encode('utf8')).decode('utf8')
# 获取本体词的结果
redis_data = redis_client.hget(tips_num_redis_key_prefix, items) # 获取本体词的结果
redis_val_dict = json.loads(str(redis_data, encoding="utf-8")) if redis_data else {} redis_data = redis_client.hget(tips_num_redis_key_prefix, items)
total_count = 0 redis_val_dict = json.loads(str(redis_data, encoding="utf-8")) if redis_data else {}
if 't' in redis_val_dict: total_count = 0
total_count = int(redis_val_dict['t']) if 't' in redis_val_dict:
total_count = int(redis_val_dict['t'])
# 存储到Redis
logging.info("get items:%s" % items) # 存储到Redis
value = value_name + str(":" + str(total_count)) logging.info("get items:%s" % items)
redis_client.sadd(key, value) value = value_name + str(":" + str(total_count))
redis_client.sadd(key, value)
# 存储近义词
# query_base64 = base64.b64encode(items.encode('utf8')).decode('utf8') # 存储近义词
key = QUERY_KEY.format(value_name) # query_base64 = base64.b64encode(items.encode('utf8')).decode('utf8')
# value_name = base64.b64encode(wordrm["keyword"].encode('utf8')).decode('utf8') key = QUERY_KEY.format(value_name)
value_names = query_base64 # value_name = base64.b64encode(wordrm["keyword"].encode('utf8')).decode('utf8')
# 获取结果 value_names = query_base64
redis_data = redis_client.hget(tips_num_redis_key_prefix, wordrm["keyword"]) # 获取结果
redis_val_dict = json.loads(str(redis_data, encoding="utf-8")) if redis_data else {} redis_data = redis_client.hget(tips_num_redis_key_prefix, instance.keyword)
total_count = 0 redis_val_dict = json.loads(str(redis_data, encoding="utf-8")) if redis_data else {}
if 't' in redis_val_dict: total_count = 0
total_count = int(redis_val_dict['t']) if 't' in redis_val_dict:
# 存储结果 total_count = int(redis_val_dict['t'])
value = value_names + str(":" + str(total_count)) # 存储结果
redis_client.sadd(key, value) value = value_names + str(":" + str(total_count))
if words: redis_client.sadd(key, value)
for w in words: if words:
value_name_w = base64.b64encode(w.encode('utf8')).decode('utf8') for w in words:
redis_data = redis_client.hget(tips_num_redis_key_prefix, w) value_name_w = base64.b64encode(w.encode('utf8')).decode('utf8')
redis_val_dict = json.loads(str(redis_data, encoding="utf-8")) if redis_data else {} redis_data = redis_client.hget(tips_num_redis_key_prefix, w)
total_count = 0 redis_val_dict = json.loads(str(redis_data, encoding="utf-8")) if redis_data else {}
if 't' in redis_val_dict: total_count = 0
total_count = int(redis_val_dict['t']) if 't' in redis_val_dict:
value = value_name_w + str(":" + str(total_count)) total_count = int(redis_val_dict['t'])
redis_client.sadd(key, value) value = value_name_w + str(":" + str(total_count))
redis_client.sadd(key, value)
except: except:
logging.error("catch exception,err_msg:%s" % traceback.format_exc()) logging.error("catch exception,err_msg:%s" % traceback.format_exc())
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