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