一個(gè)小規(guī)模團(tuán)隊(duì),如何做一個(gè)搜索引擎?
網(wǎng)友解答: 全網(wǎng)形式的搜索引擎已經(jīng)不建議了。這里給個(gè)小建議:1.網(wǎng)盤搜索還是可以專業(yè)的發(fā)展。2.論文,文獻(xiàn),標(biāo)題的索引是個(gè)趨勢(shì)。3.全網(wǎng)小視頻的檢索,是個(gè)方向。4.圖片搜索,特定文檔搜索
全網(wǎng)形式的搜索引擎已經(jīng)不建議了。
這里給個(gè)小建議:
1.網(wǎng)盤搜索還是可以專業(yè)的發(fā)展。
2.論文,文獻(xiàn),標(biāo)題的索引是個(gè)趨勢(shì)。
3.全網(wǎng)小視頻的檢索,是個(gè)方向。
4.圖片搜索,特定文檔搜索,也是個(gè)方向。
5.微博,知乎,豆瓣,等特定站點(diǎn)的搜索。
至于用什么開發(fā),小編就不能給專業(yè)建議了!
網(wǎng)友解答:問(wèn)題很明了,如何做一個(gè)搜索引擎
我來(lái)回答
首先,一個(gè)完整的網(wǎng)絡(luò)通用搜索引擎在邏輯上由四部分組成,根據(jù)圖1,分成數(shù)據(jù)采集、數(shù)據(jù)加工、數(shù)據(jù)索引、數(shù)據(jù)服務(wù)。
數(shù)據(jù)采集模塊俗稱網(wǎng)絡(luò)爬蟲或者網(wǎng)絡(luò)蜘蛛。雖然名字很形象,但是從實(shí)踐的角度來(lái)說(shuō),計(jì)算機(jī)程序的處理過(guò)程和昆蟲的自發(fā)行為有很大的差別。數(shù)據(jù)采集模塊需要能夠正確獲取到網(wǎng)站的網(wǎng)頁(yè),它的行為更像我們?cè)跒g覽器中輸入網(wǎng)址后不斷的點(diǎn)擊網(wǎng)頁(yè)鏈接。所以更為貼切的說(shuō)法是數(shù)據(jù)采集模塊即模擬了網(wǎng)頁(yè)瀏覽器,又模擬了人類的網(wǎng)頁(yè)點(diǎn)擊行為。
粗放地來(lái)看,數(shù)據(jù)采集模塊應(yīng)該具有2個(gè)基本功能:
1:根據(jù)網(wǎng)頁(yè)地址(URL)獲取該地址對(duì)應(yīng)的網(wǎng)頁(yè)文件。
2:解析出網(wǎng)頁(yè)文件中的鏈接地址和網(wǎng)頁(yè)有效信息文本。
數(shù)據(jù)加工模塊是搜索引擎的核心功能,它負(fù)責(zé)對(duì)數(shù)據(jù)采集模塊采集的網(wǎng)頁(yè)有效信息文本進(jìn)行加工,使得我們?nèi)祟惸芸炊奈淖中畔⒛軌虬凑赵O(shè)定的規(guī)則被計(jì)算機(jī)理解。
對(duì)于一個(gè)初級(jí)搜索引擎來(lái)說(shuō),需要將文本文字進(jìn)行拆解、歸類,如果是中文,還需要在拆解的時(shí)候?qū)χ形倪M(jìn)行分詞。之后將解析結(jié)果發(fā)送給索引模塊,索引模塊再進(jìn)一步加工后錄入到搜索引擎的數(shù)據(jù)庫(kù)中。如果要實(shí)現(xiàn)一個(gè)更加智能的高級(jí)搜索引擎,在上述步驟的基礎(chǔ)上,還要能夠?qū)崿F(xiàn)語(yǔ)義理解,這樣當(dāng)用戶在搜索“明天星期幾”的時(shí)候,搜索引擎給出的應(yīng)該是包含“明天是星期六”或者“明天是星期一”。。。。。。
諸如此類的結(jié)果,而不僅僅是含有“明天星期幾”這5個(gè)關(guān)鍵詞的網(wǎng)頁(yè)結(jié)果集合。數(shù)據(jù)索引模塊是搜索引擎的另外一個(gè)核心,它和數(shù)據(jù)加工模塊的關(guān)系就像人類的心和肺,缺一不可。這個(gè)模塊主要功能是將數(shù)據(jù)加工模塊的處理結(jié)果保存在一個(gè)規(guī)范的數(shù)據(jù)結(jié)構(gòu)中,這樣做的目的是為了給接下去的數(shù)據(jù)服務(wù)模塊提供便利,使得數(shù)據(jù)服務(wù)模塊能夠在極短的時(shí)間內(nèi)完成對(duì)整個(gè)互聯(lián)網(wǎng)數(shù)據(jù)的信息檢索。數(shù)據(jù)服務(wù)模塊是搜索引擎對(duì)外部提供服務(wù)的接口。
它要能夠?qū)ν獠枯斎脒M(jìn)行及時(shí)響應(yīng),并聯(lián)系數(shù)據(jù)索引模塊,取出用戶查找內(nèi)容的網(wǎng)頁(yè)結(jié)果。很多時(shí)候,為了能夠高效地對(duì)用戶行為進(jìn)行反饋,搜索引擎常常在這個(gè)模塊處實(shí)現(xiàn)一些預(yù)測(cè)或者緩存算法,別勉對(duì)用戶的每一次查詢都實(shí)施一次完整的數(shù)據(jù)查找流程。從上述對(duì)4個(gè)模塊的描述可以看出,搜索引擎和一個(gè)圖書館的圖書檢索系統(tǒng)并沒(méi)有太大差別,且搜索引擎的模塊鏈都是單向且唯一的,不存在多個(gè)模塊之間需要進(jìn)行數(shù)據(jù)交互,或者數(shù)據(jù)交互是雙向的。僅這一點(diǎn)而言,搜索引擎在邏輯上還是比較簡(jiǎn)單的。我相信,讀者只要能夠堅(jiān)持,最后實(shí)現(xiàn)一個(gè)實(shí)用的搜索引擎應(yīng)用是完全沒(méi)有問(wèn)題的。