在大學(xué)期間,有段時(shí)間對(duì)搜索還是比較感興趣的,就研究了幾天。后來,發(fā)現(xiàn)搜索引擎太難搞了,分詞啥的,好多都是純算法。感覺沒啥意思,so就半途而廢,玩別的技術(shù)領(lǐng)域去了。 大學(xué)畢業(yè)加入秒針,對(duì)廣告和監(jiān)測(cè)有了一定的興趣。so又想搞搜索引擎了,大概的目標(biāo)就是,從網(wǎng)上爬去內(nèi)容,建立索引,網(wǎng)友搜索、點(diǎn)擊、廣告點(diǎn)擊等監(jiān)測(cè)統(tǒng)計(jì),存到數(shù)據(jù)庫。
這個(gè)項(xiàng)目,還真是做了,做完了一個(gè)Demo版。借助jsoup和自己寫幾行代碼爬網(wǎng)頁, 然后用lucene建立索引,然后就可以查詢了,只能存儲(chǔ)最基本的日志。項(xiàng)目名稱叫做FansITSearch。
這個(gè)項(xiàng)目,還有另外一個(gè)用途, 就是索引硬盤中的內(nèi)容,比如TXT、PDF、Word、Excel等各種類型的文檔,方便自己查找。我們應(yīng)該非常清楚地看到,Windows自帶的搜索,慢的和蝸牛一樣。
桌面搜索引擎,不知道有沒有比較牛逼的,反正我還沒有注意到。
2014年下半年,在寫個(gè)人官網(wǎng)和BriefCMS,都是側(cè)重內(nèi)容型的網(wǎng)站,建立全站的全文搜索,還是非常有實(shí)際價(jià)值的。
在網(wǎng)站中,加入全文搜索功能,除去技術(shù)實(shí)現(xiàn),怎么接入有2種思路:
1.把Lucene實(shí)現(xiàn)的全文索引和查詢,做成基礎(chǔ)庫。
其他業(yè)務(wù)項(xiàng)目需要使用,就引入這個(gè)基礎(chǔ)庫,開發(fā)起來,只需要提供數(shù)據(jù)等接口就可以了。
這種方式,我覺得相對(duì)容易實(shí)現(xiàn)。畢竟是白盒的,能直接看到代碼,定制很容易。
2.把全文搜索做成一項(xiàng)服務(wù)。
這個(gè)網(wǎng)站是一個(gè)獨(dú)立的項(xiàng)目,其它任何內(nèi)容型的網(wǎng)站,如果需要搜索功能,使用它的服務(wù)就好。
比如,百度早期就是給其它門戶網(wǎng)站提供站內(nèi)搜索。
服務(wù)怎么去實(shí)現(xiàn)呢,畢竟各個(gè)項(xiàng)目之間要互相獨(dú)立。
關(guān)于功能
1. 爬蟲
用jsoup解析頁面的url、自己寫遞歸、邏輯判斷,也可以使用WebMagic、Apache-solr。
solr一定得認(rèn)真研究下,http://lucene.apache.org/solr/
2.存儲(chǔ)數(shù)據(jù)
文件、數(shù)據(jù)庫
3.索引
lucene做
4.查詢
lucene
5.統(tǒng)計(jì)。
自己寫代碼,比如搜索詞、點(diǎn)擊。
原文首發(fā):http://fansunion.cn/article/detail/579.html
寫這篇文章,其實(shí)是想做個(gè)一個(gè)關(guān)于搜索的總結(jié),同時(shí),為2015年預(yù)計(jì)的開發(fā)做個(gè)思想準(zhǔn)備,知道自己應(yīng)該去解決哪些問題。
預(yù)計(jì)2015年的項(xiàng)目有,小雷官網(wǎng)、BriefCMS、簡(jiǎn)易搜索、電商網(wǎng)站。
力求做到,思路清晰、代碼復(fù)用、 有商業(yè)價(jià)值、提高個(gè)人技術(shù)水準(zhǔn),更重要的是為可能的若干年之后的,“去而復(fù)返”做寫技術(shù)準(zhǔn)備。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。