search A for B(search auto complete)
#coding:utf-8
import _env
from os.path import join
from tokyo.dystopia import JDB, JDBOREADER, JDBONOLCK
from config import SEARCH_DB_PATH
from mmseg.search import seg_txt2
from hashlib import md5def query_key_md5(query):
query = query.strip().split()
query.sort()
key = .join(query)
md5key = md5(key).hexdigest()
return key, md5keyclass SearchDb(object):
def __init__(self, name):
PATH_DB = join(SEARCH_DB_PATH, name)jdb = JDB()
jdb.open(PATH_DB, JDBOREADER|JDBONOLCK)
self._jdb = jdbdef search(self, txt):
word_set = set(seg_txt2(txt.lower()))
keyword = .join(word_set)
return self._jdb.search(keyword)if __name__ == __main__:
search_db_zsite_user = SearchDb(ZsiteTag)
print search_db_zsite_user.search(愤怒)#search_db_po_note = SearchDb(PoNote)
#from model.po import Po
#from time import time
#begin = time()
#id_list = search_db_po_note.search(三而竭)
#print time() - begin
#print len(id_list)
#for i in Po.mc_get_list(id_list):
# print i.name_#for i in search_db_po_note._jdb:
# print i
# for j in search_db_po_note._jdb[i]:
# print j,创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!