前兩天去九華山莊參加了csdn的2.0大會,有幸聽了一些前輩和大師的思想和理解!受益匪淺!這其中跟搜尋引擎開發相關比較緊密的是雷鳴的演講。因為他以前就是做搜尋引擎的,而且被李彥巨集成為"中國最好的工程師之一"! 他所說的很多的東西,有些我知道,但是沒有人家提煉的透徹,一針見血;有些我是模糊的或者是不知道。不管如何,我把聽來的筆記和理解記在下邊!與大家共享和討論!
我去的時候已經9:30了。呵呵! 其實是從9:00之前開始的。 我的筆記從9:30開始!
1. 抓cpu的熱點!
1. 分析而不是猜測
這是有抓大熱點和小熱點之分了。抓乙個程式的cpu熱點,比如那個函式的cpu耗用的太多,linux是有乙個程式可以直接利用的,我倒是忘了名字了。當程式規模變大,流程變多的時候,打時間戳的辦法是非常有效的。當然他也適用於單個程式!它的目的就是乙個,在乙個我們認為執行時間超出了我們預定值的系統裡邊,明確的知道,那乙個或者是哪些步驟是耗費的時間最多!搜尋引擎是乙個典型的流程比較長,規模大的系統。
2. 硬碟io
1. 二維到一維的轉換
記憶體是二維的,硬碟是一維的。記憶體資料寫入硬碟就有乙個二維轉成一維的轉換!
2. 硬碟效能指標
搜尋引擎裡邊,硬碟的io效能到最後都會成為瓶頸!現在主流的硬碟,隨機讀寫每秒可能是千次!
3. 半個產品人員
1. 要想做出乙個好的產品,首先你就起碼是是半個產品人員,你的想法和客戶的想法是相同的。這樣產品才是有用的!
2. 如果你封裝了類給被人用,你起碼要設定他的應用的場景。用的人好用,才會用你的東西!
4. 資料探勘
每天有大量的查詢日誌,它才是反映使用者查詢需求的第一手的資料。也是做符合使用者需求的產品的基礎!
5. 協防
1. 去幫助你的同事,因為你肯定會需要他們的幫助。
2. 朋友也是如此。
這是將來發展的基礎
6. 乙個技術人員走的有多遠,要看他的心胸有多開闊
雷鳴說,他曾經看過很多的基礎很好,也很聰明的開發人員。但是,他們走到乙個程度以後,往往開始聽不進不同的意見!不管是隊的還是錯的。 這會在很大的程度上限制乙個好的開發人員的發展!
結束之後,很多人圍住雷鳴討論那個奧運會門票系統的例子。其實,他在介紹的過程中對這個問題已經闡述的很好,1. 估計後台沒有分布式。 沒有任務分割。 2.對併發的人數估計不足。 (不過,估計誰也想不到有這麼大的併發訪問量。單對這個倒是有乙個比較損的辦法:半夜三點開始賣票。:) ) 3. 對連線的數目沒有乙個限制,超出上限的鏈結關閉,給乙個錯誤頁面! 這樣不會妨礙其他的可以正常鏈結的交易!可以使程式免於崩潰! 給乙個安全閥,這才是最重要的!
關於搜尋引擎
在使用爬蟲的情況下,你可以設定 的robots.txt,規定是否允許被爬取,發現乙個很有趣兒的事情,比如 網 但其實用爬蟲也是可以爬到資料的,這也就是相當於某種自覺吧。爬蟲技術暫時說到這裡,但是這裡強調一下,有外鏈,不代表搜尋爬蟲會來爬取,爬蟲爬取了,不代表搜尋引擎會收錄 搜尋引擎收錄了,不代表使用...
關於搜尋引擎營銷
對搜尋引擎不友好的 具有什麼樣的特徵?通過學習我們可以知道,搜尋引擎排名的三大指標,我先通過對三個指標的分析可以得出部分結論,繼而結合生活中使用搜尋引擎的經驗可以得出其他結論。在搜尋引擎排名靠前的 的指標一是訪問量大,原創內容高,頁面更新速度快,那麼相對應的 缺少原創內容,大部分都是照搬別人內容的 ...
搜尋引擎開發經驗
一 查詢子系統 1 邏輯表示式 綜合的搜尋引擎通常支援邏輯與,邏輯或,邏輯非這三種操作.多個查詢詞的時候要進行邏輯操作,通常空格預設為 如果在多個查詢結果前進行預排序,那麼就可以把原來複雜的邏輯操作轉為有序集合的合併操作,時間複雜度僅為o m n b 網頁排序 網頁與文字的不同,是增加了meta元素...