我有3000萬個帖子,600個查詢代表600個品牌。
例如查詢"Harry Potter" OR "Harry"
代表品牌哈利波特,
和後可以是:文本挖掘代碼中的時間複雜度問題
Yesterday I went to see harry potter. The movie was great!
我代表後的文本類Post
,還包括處理找到一個長期的操作功能("Harry"
,"Harry Potter"
)。
另一類是Query
,表示查詢,並與Post
進行通信。
我跑了超過10萬個帖子的代碼,花了半個小時。
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
怎樣才能更有效率?
這個問題可能更適合[codereview.SE](http://codereview.stackexchange.com/)? – Michael0x2a
你想要ElasticSearch –