開(kāi)始文章之前呢拙吉,我們首先看一個(gè)搜索。
很明顯缆蝉,我們?nèi)绻胠ike是沒(méi)發(fā)實(shí)現(xiàn)這種功能的宇葱,這里就用到了我們今天要聊的分詞搜索。
項(xiàng)目是從一個(gè)爬蟲(chóng)開(kāi)始的刊头,毋容置疑我們想做搜索黍瞧,肯定要有數(shù)據(jù)呀,這里我選用了半糖這個(gè)網(wǎng)站的商品信息芽偏。
第二步,我們開(kāi)始建立索引弦讽,我建索引的方式比較簡(jiǎn)單污尉,是通過(guò)字符轉(zhuǎn)unicode碼拼接成文件路徑的方式,這里也期待你用更好的方式做往产,比如說(shuō)存在內(nèi)存中(這里要做數(shù)據(jù)持久化)被碗,那實(shí)際上我最新的一個(gè)開(kāi)源項(xiàng)目gosearch就用了這種方式,當(dāng)然如果你想追求更有意思的事情仿村,你可以嘗試一下分布式锐朴,你可以自己設(shè)計(jì)一套分布式的方案,就會(huì)很酷了蔼囊。
最后焚志,就是用Flask展現(xiàn)我們的數(shù)據(jù)了,這一步就簡(jiǎn)單一些了畏鼓,但是我這里用了一些AOP的全局處理方案酱酬,還是挺有意思了,有興趣的可以看一下云矫。
github地址: https://github.com/apple-han