我有 3000 万个帖子和代表 600 个品牌的 600 个查询。
例如,查询"Harry Potter" OR "Harry"
代表品牌 Harry Potter,
帖子可以是:
Yesterday I went to see harry potter. The movie was great!
我有代表帖子文本的类,还包括处理在帖子文本中查找术语 ( , )Post
的操作的函数。
另一个类是,代表查询,并与 通信。
我运行了超过 100K 个帖子的代码,花了半个小时。"Harry"
"Harry Potter"
Query
Post
class Post:
def __init__(self, post):
self._postString = post
self._postString = re.sub(r'\s{2,}', ' ', self._postString)
self._parsedSen = self._postString.split(' ')
self._length = len(self._parsedSen)
def isTermAppear(self, term):
k = None
termArr = term.split(' ')
for i in range(self._length):
if i + len(termArr) <= len(self._parsedSen):
k = i
flag = True
for j in range(len(termArr)):
if not self._parsedSen[k].lower().find(termArr[j].lower()) >= 0:
flag = False
k += 1
if flag:
return True
return False
然后我将函数更改为微不足道,并再次运行代码。这次花了3分钟。
def isTermAppear(self, term):
return False
怎样才能Post
更有效率?