開始文章之前呢,我們首先看一個(gè)搜索。

WX20190608-141702@2x.png
很明顯,我們?nèi)绻胠ike是沒發(fā)實(shí)現(xiàn)這種功能的,這里就用到了我們今天要聊的分詞搜索。
項(xiàng)目是從一個(gè)爬蟲開始的,毋容置疑我們想做搜索,肯定要有數(shù)據(jù)呀,這里我選用了半糖這個(gè)網(wǎng)站的商品信息。
第二步,我們開始建立索引,我建索引的方式比較簡(jiǎn)單,是通過字符轉(zhuǎn)unicode碼拼接成文件路徑的方式,這里也期待你用更好的方式做,比如說存在內(nèi)存中(這里要做數(shù)據(jù)持久化),那實(shí)際上我最新的一個(gè)開源項(xiàng)目gosearch就用了這種方式,當(dāng)然如果你想追求更有意思的事情,你可以嘗試一下分布式,你可以自己設(shè)計(jì)一套分布式的方案,就會(huì)很酷了。
最后,就是用Flask展現(xiàn)我們的數(shù)據(jù)了,這一步就簡(jiǎn)單一些了,但是我這里用了一些AOP的全局處理方案,還是挺有意思了,有興趣的可以看一下。
github地址: https://github.com/apple-han