官术网_书友最值得收藏!

前言

15 在中國,隨著互聯網從城市到農村的普及,搜索引擎對日常生活產生越來越大的影響。例如,筆者自己一般每天就有15個左右的問題需要求助于搜索引擎。從04年開始筆者也從數據庫相關軟件開發轉入搜索引擎相關開發工作。

Google 20世紀末,在美國國家科學基金會的支持下,斯坦福大學的兩個學生在他們的教授指導下開始了一個數字圖書館項目。后來,他們創建了Google公司,開創了通過互聯網搜索技術共享人類信息的新紀元。Google通過網絡廣告取得了巨大的商業回報,到現在仍然是世界500強企業中贏利能力最強的公司之一。NASDAQ證券交易市場的最高股價是Google公司的股票。搜索引擎開發成為一項極有含金量的技術。

Web 開始寫作《自己動手寫搜索引擎》這本書以前,已經有一些介紹搜索理論或者搜索開發工具的圖書,但是往往表現出來的是純粹的理論推導和公式定理,或者僅僅是現成開源軟件的介紹、分析和使用,并沒有介紹其理論依據。有的讀者是數學專業的博士,對于相關的數學模型一看就明白,但對于算法實現可能仍然缺少經驗。有的讀者是培訓學校畢業的學生,可能對Web開發框架和軟件工具的使用很熟悉,但缺少理論基礎和深入創新的能力。本書的一個特點在于前面是原理介紹,接著是具體的代碼實現。不僅講解抽象的知識,更重要的是把知識轉化成具體軟件應用的過程也展示出來。

Lucene《自己動手寫搜索引擎》是獵兔企業搜索開發團隊的軟件產品研發和項目實踐的經驗匯總。感謝Lucene,它把搜索引擎開發工作變成了廣大程序員都能夠參與的游戲。所以本書選用Lucene來全方位展現一個商用級別的搜索解決方案。中文分詞當前仍然是實現中文搜索的熱門話題之一。本書重點介紹了中文分詞的相關理論和代碼實現,以及在搜索引擎中實用中文分詞等細節。本書用簡單的例子介紹了搜索引擎完整的實現過程,同時也沒有忽略一些經典的算法實現。

該書適合需要具體實現搜索引擎的程序員使用,對于自然語言處理等相關研究人員也有一定參考價值,同時獵兔搜索團隊也已經開發出以本書為基礎的專門培訓課程。本書附帶光盤中的代碼經過了詳細的注釋。為了幫助初學者更容易地了解程序的功能,經過筆者的精心整理后,每個主要變量和每行主要的執行程序都加上了注釋,前后對比圖如下所示。

3年 筆者花了3年時間編寫本書,但限于時間和水平,其中很多內容筆者仍然正在改寫中,希望讀者不吝賜教,使本書在重印時內容能更全面。如果條件允許,筆者也很愿意探索一些非比尋常的方式來介紹技術。

API 筆者把寫書的過程看成是筆者自身和作者所組建的技術團隊修煉和提高的過程。筆者相信技術高手并非天生,而是來源于對卓越品質的追求和自我的不斷提升。起點低不是問題,筆者所在的搜索開發團隊就包括一些高中學歷的程序員,不愿意學習和深入鉆研問題才是最大的問題。從企業知識管理的角度,這本書也是有益的。團隊里每次有新人進來,我們都先把相關文檔發給他們,這樣內部交流技術就多了一些基礎,不用每次都從Lucene最基本的API等這些基本知識開始介紹。

搜索 從學習的過程來看,有人會問:“你沒有去過**公司,怎么知道開發搜索引擎?”筆者沒有去過大的搜索公司,所以只能從公開的論文、資料和代碼等開始學習。感謝搜索引擎技術本身的發展,這方面的學習材料越來越容易通過搜索獲得。筆者沒有在課堂上學習過自然語言處理等方面的課程,剛開始做中文分詞的時候,吳春堯博士問:“你知不知道語言模型?”筆者當時對這些概念一無所知。但是通過了解中文分詞程序每一行代碼的作用,閱讀相關的論文,終于了解了其中一些常用的數學方法。

Solr 從開發過程來看,首先由客戶或者其他開發人員提出問題,解決問題,重新審查整個過程并尋找更好的解決方法。比如實現搜索結果中分類統計,最開始用QueryFilter方法可以實現基本的功能,后來Solr的作者實現了一個更快的DocSetHitCollector方法,如果用查表法來改進這個DocSetHitCollector方法可以達到比Solr官方版本更快的計算速度。搜索軟件開發的過程借用日本產品研發大師稻盛和夫的話與大家共勉——“對產品的現場,重新進行審視、體察、貼心、傾聽。這樣的話,就可以聽見神靈的聲音。現場產品傳來喃喃細語告知我們解決問題的訣竅——這樣試試如何?”

準確 從成書過程來看,這本書也找過一些內部的開發人員請他們挑問題使得本書的表達更準確。最后,電子工業出版社的胡辛征老師對本書提出了很多具體而必要的建議,江立老師反復做了細致的修訂工作,他們豐富的經驗和認真負責的態度使得本書從粗糙的講稿變成了書本的形式。

感謝 最后筆者衷心感謝家人、關心我的老師和朋友們、創業伙伴、搜索培訓班的學員以及選擇獵兔搜索軟件的客戶多年來的支持。第一次開辦搜索培訓班時,由于講稿本身準備得不夠充分,學員有諸多的反饋意見。經過不斷的修改后,新學員的負面反饋越來越少。他們的意見也在時刻提醒筆者要保持謙虛的態度。獵兔搜索的客戶對于完善搜索技術提供了重要的支持,客戶公司包括:天下互聯公司、北京電視臺、港澳資訊公司、三星鵬泰公司、中國自動化網、中國工控網、中國機電貿易網、易車網、敦煌網、G寶盤、消息樹網站等。

主站蜘蛛池模板: 晋中市| 江陵县| 讷河市| 遵义市| 沛县| 泰兴市| 隆昌县| 安徽省| 汕头市| 瑞丽市| 临泽县| 日土县| 建阳市| 建始县| 邻水| 和林格尔县| 故城县| 尖扎县| 三明市| 黑龙江省| 葵青区| 永嘉县| 鄂伦春自治旗| 留坝县| 彭水| 马公市| 巴彦淖尔市| 都江堰市| 天津市| 靖边县| 花莲县| 永城市| 安仁县| 元阳县| 通辽市| 张掖市| 大安市| 南康市| 安国市| 铜陵市| 锦州市|