自己動(dòng)手寫(xiě)搜索引擎

出版時(shí)間:2009-11  出版社:電子工業(yè)出版社  作者:羅剛  頁(yè)數(shù):353  
Tag標(biāo)簽:無(wú)  

前言

  15在中國(guó),隨著互聯(lián)網(wǎng)從城市到農(nóng)村的普及,搜索引擎對(duì)日常生活產(chǎn)生越來(lái)越大的影響。例如,筆者自己一般每天就有15個(gè)左右的問(wèn)題需要求助于搜索引擎。從04年開(kāi)始筆者也從數(shù)據(jù)庫(kù)相關(guān)軟件開(kāi)發(fā)轉(zhuǎn)入搜索引擎相關(guān)開(kāi)發(fā)工作。  Google20世紀(jì)末,在美國(guó)國(guó)家科學(xué)基金會(huì)的支持下,斯坦福大學(xué)的兩個(gè)學(xué)生在他們的教授指導(dǎo)下開(kāi)始了一個(gè)數(shù)字圖書(shū)館項(xiàng)目。后來(lái),他們創(chuàng)建了Google公司,開(kāi)創(chuàng)了通過(guò)互聯(lián)網(wǎng)搜索技術(shù)共享人類(lèi)信息的新紀(jì)元。Google通過(guò)網(wǎng)絡(luò)廣告取得了巨大的商業(yè)回報(bào),到現(xiàn)在仍然是世界500強(qiáng)企業(yè)中贏(yíng)利能力最強(qiáng)的公司之一。NASDAQ證券交易市場(chǎng)的最高股價(jià)是Google公司的股票。搜索引擎開(kāi)發(fā)成為一項(xiàng)極有含金量的技術(shù)。  Web開(kāi)始寫(xiě)作《自己動(dòng)手寫(xiě)搜索引擎》這本書(shū)以前,已經(jīng)有一些介紹搜索理論或者搜索開(kāi)發(fā)工具的圖書(shū),但是往往表現(xiàn)出來(lái)的是純粹的理論推導(dǎo)和公式定理,或者僅僅是現(xiàn)成開(kāi)源軟件的介紹、分析和使用,并沒(méi)有介紹其理論依據(jù)。有的讀者是數(shù)學(xué)專(zhuān)業(yè)的博士,對(duì)于相關(guān)的數(shù)學(xué)模型一看就明白,但對(duì)于算法實(shí)現(xiàn)可能仍然缺少經(jīng)驗(yàn)。有的讀者是培訓(xùn)學(xué)校畢業(yè)的學(xué)生,可能對(duì)Web開(kāi)發(fā)框架和軟件工具的使用很熟悉,但缺少理論基礎(chǔ)和深入創(chuàng)新的能力。本書(shū)的一個(gè)特點(diǎn)在于前面是原理介紹,接著是具體的代碼實(shí)現(xiàn)。不僅講解抽象的知識(shí),更重要的是把知識(shí)轉(zhuǎn)化成具體軟件應(yīng)用的過(guò)程也展示出來(lái)。  Lucene《自己動(dòng)手寫(xiě)搜索引擎》是獵兔企業(yè)搜索開(kāi)發(fā)團(tuán)隊(duì)的軟件產(chǎn)品研發(fā)和項(xiàng)目實(shí)踐的經(jīng)驗(yàn)匯總。感謝Lucene,它把搜索引擎開(kāi)發(fā)工作變成了廣大程序員都能夠參與的游戲。所以本書(shū)選用Lucene來(lái)全方位展現(xiàn)一個(gè)商用級(jí)別的搜索解決方案。中文分詞當(dāng)前仍然是實(shí)現(xiàn)中文搜索的熱門(mén)話(huà)題之一。本書(shū)重點(diǎn)介紹了中文分詞的相關(guān)理論和代碼實(shí)現(xiàn),以及在搜索引擎中實(shí)用中文分詞等細(xì)節(jié)。本書(shū)用簡(jiǎn)單的例子介紹了搜索引擎完整的實(shí)現(xiàn)過(guò)程,同時(shí)也沒(méi)有忽略一些經(jīng)典的算法實(shí)現(xiàn)?! ≡摃?shū)適合需要具體實(shí)現(xiàn)搜索引擎的程序員使用,對(duì)于自然語(yǔ)言處理等相關(guān)研究人員也有一定參考價(jià)值,同時(shí)獵兔搜索團(tuán)隊(duì)也已經(jīng)開(kāi)發(fā)出以本書(shū)為基礎(chǔ)的專(zhuān)門(mén)培訓(xùn)課程。本書(shū)附帶光盤(pán)中的代碼經(jīng)過(guò)了詳細(xì)的注釋。為了幫助初學(xué)者更容易地了解程序的功能,經(jīng)過(guò)筆者的精心整理后,每個(gè)主要變量和每行主要的執(zhí)行程序都加上了注釋?zhuān)昂髮?duì)比圖如下所示。

內(nèi)容概要

  《自己動(dòng)手寫(xiě)搜索引擎》是獵兔企業(yè)搜索開(kāi)發(fā)團(tuán)隊(duì)的軟件產(chǎn)品研發(fā)和項(xiàng)目實(shí)踐的經(jīng)驗(yàn)匯總?!蹲约簞?dòng)手寫(xiě)搜索引擎》全方位展現(xiàn)出一個(gè)商用級(jí)別的Lucene搜索解決方案,主要包括爬蟲(chóng)、自然語(yǔ)言處理和搜索實(shí)現(xiàn)部分。爬蟲(chóng)部分介紹了網(wǎng)頁(yè)遍歷方法和從網(wǎng)頁(yè)提取主要內(nèi)容的方法。  自然語(yǔ)言處理部分包括了中文分詞從理論到實(shí)現(xiàn)以及在搜索引擎中的實(shí)用等細(xì)節(jié)。  其他自然語(yǔ)言處理的經(jīng)典問(wèn)題與實(shí)現(xiàn)包括:文檔排重、文本分類(lèi)、自動(dòng)聚類(lèi)、語(yǔ)法解析樹(shù)、拼寫(xiě)檢查、拼音轉(zhuǎn)換等理論與實(shí)現(xiàn)方法?! ≡趯?shí)現(xiàn)搜索方面,《自己動(dòng)手寫(xiě)搜索引擎》用簡(jiǎn)單的例子介紹了完整的搜索實(shí)現(xiàn)過(guò)程,覆蓋了從索引庫(kù)的設(shè)計(jì)和索引庫(kù)與數(shù)據(jù)庫(kù)的同步到搜索用戶(hù)界面設(shè)計(jì)與實(shí)現(xiàn)。搜索用戶(hù)界面包括實(shí)現(xiàn)布爾邏輯查詢(xún)、按區(qū)間范圍查詢(xún)、搜索結(jié)果按日期排序等?!蹲约簞?dòng)手寫(xiě)搜索引擎》還進(jìn)一步介紹了搜索排序的優(yōu)化方法?! ∽詈笠曰贚ucene的搜索服務(wù)器Solr為例,展示了Lucene的最新應(yīng)用方法。

作者簡(jiǎn)介

  羅剛,獵兔搜索(http://www.lietu.com)創(chuàng)始人,當(dāng)前獵兔搜索在北京和上海均設(shè)有研發(fā)部。帶領(lǐng)獵兔搜索技術(shù)開(kāi)發(fā)團(tuán)隊(duì)先后開(kāi)發(fā)出獵兔中文分詞系統(tǒng)、獵兔智能垂直搜索系統(tǒng)以及網(wǎng)絡(luò)信息監(jiān)測(cè)系統(tǒng)等,實(shí)現(xiàn)互聯(lián)網(wǎng)信息的采集、過(guò)濾、搜索和實(shí)時(shí)監(jiān)測(cè)。

書(shū)籍目錄

第1章 遍歷搜索引擎技術(shù)/11.1 30分鐘實(shí)現(xiàn)的搜索引擎/11.1.1 準(zhǔn)備工作環(huán)境(10分鐘)/11.1.2 編寫(xiě)代碼(15分鐘)/31.1.3 發(fā)布運(yùn)行(5分鐘)/51.2 Google神話(huà)/91.3 體驗(yàn)搜索引擎/91.4 搜索語(yǔ)法/101.5 你也可以做搜索引擎/131.6 搜索引擎基本技術(shù)/141.6.1 網(wǎng)絡(luò)蜘蛛/141.6.2 全文索引結(jié)構(gòu)/141.6.3 Lucene全文檢索引擎/151.6.4 Nutch網(wǎng)絡(luò)搜索軟件/161.6.5 用戶(hù)界面/171.7 商業(yè)搜索引擎技術(shù)介紹/191.7.1 通用搜索/191.7.2 垂直搜索/201.7.3 站內(nèi)搜索/211.7.4 桌面搜索/231.8 本章小結(jié)/24第2章 獲得海量數(shù)據(jù)/252.1 自己的網(wǎng)絡(luò)蜘蛛/252.1.1 抓取網(wǎng)頁(yè)/252.1.2 網(wǎng)絡(luò)蜘蛛遍歷與實(shí)現(xiàn)/262.1.3 改進(jìn)網(wǎng)絡(luò)蜘蛛/302.1.4 MP3抓取/342.1.5 RSS抓取/362.1.6 圖片抓取/382.1.7 垂直行業(yè)抓取/392.2 抓取數(shù)據(jù)庫(kù)中的內(nèi)容/422.2.1 建立數(shù)據(jù)視圖/422.2.2 JDBC數(shù)據(jù)庫(kù)連接/432.2.3 增量抓取/452.3 抓取本地硬盤(pán)上的文件/472.4 本章小結(jié)/49第3章 提取文檔中的文本內(nèi)容/503.1 從HTML文件中提取文本/503.1.1 HtmlParser介紹/533.1.2 結(jié)構(gòu)化信息提取/633.1.3 查看網(wǎng)頁(yè)的DOM結(jié)構(gòu)/683.1.4 正文提取的工具NekoHTML/713.1.5 網(wǎng)頁(yè)去噪/733.1.6 網(wǎng)頁(yè)結(jié)構(gòu)相似度計(jì)算/763.1.7 網(wǎng)站風(fēng)格樹(shù)去除文檔噪聲/803.1.8 正文提取/923.2 從非HTML文件中提取文本/983.2.1 TEXT文件/983.2.2 PDF文件/983.2.3 Word文件/1053.2.4 RTF文件/1063.2.5 Excel文件/1073.2.6 PowerPoint文件/1083.3 流媒體內(nèi)容提取/1093.3.1 音頻流內(nèi)容提取/1093.3.2 視頻流內(nèi)容提取/1113.4 抓取限制應(yīng)對(duì)方法/1133.5 本章小結(jié)/114第4章 中文分詞/1154.1 Lucene中的中文分詞/1154.2 Lietu中文分詞的使用/1164.3 中文分詞的原理/1174.4 查找詞典算法/1184.5 最大概率分詞方法/1234.6 新詞發(fā)現(xiàn)/1274.7 詞性標(biāo)注/1294.8 本章小結(jié)/139第5章 自然語(yǔ)言處理/1405.1 語(yǔ)法解析樹(shù)/1405.2 文檔排重/1415.3 中文關(guān)鍵詞提取/1425.3.1 關(guān)鍵詞提取的基本方法/1425.3.2 從網(wǎng)頁(yè)中提取關(guān)鍵詞/1455.4 相關(guān)搜索/1455.5 拼寫(xiě)檢查/1485.5.1 英文拼寫(xiě)檢查/1485.5.2 中文拼寫(xiě)檢查/1495.6 自動(dòng)摘要/1535.6.1 自動(dòng)摘要技術(shù)/1535.6.2 自動(dòng)摘要的設(shè)計(jì)/1545.6.3 Lucene中的動(dòng)態(tài)摘要/1625.7 自動(dòng)分類(lèi)/1635.7.1 Classifier4J/1645.7.2 自動(dòng)分類(lèi)的接口定義/1655.7.3 自動(dòng)分類(lèi)的SVM方法實(shí)現(xiàn)/1665.7.4 多級(jí)分類(lèi)/1675.8 自動(dòng)聚類(lèi)/1705.8.1 聚類(lèi)的定義/1705.8.2 K均值聚類(lèi)方法/1705.8.3 K均值實(shí)現(xiàn)/1735.9 拼音轉(zhuǎn)換/1795.10 語(yǔ)義搜索/1805.11 跨語(yǔ)言搜索/1865.12 本章小結(jié)/188第6章 創(chuàng)建索引庫(kù)/1896.1 設(shè)計(jì)索引庫(kù)結(jié)構(gòu)/1906.1.1 理解Lucene的索引庫(kù)結(jié)構(gòu)/1906.1.2 設(shè)計(jì)一個(gè)簡(jiǎn)單的索引庫(kù)/1926.2 創(chuàng)建和維護(hù)索引庫(kù)/1936.2.1 創(chuàng)建索引庫(kù)/1936.2.2 向索引庫(kù)中添加索引文檔/1946.2.3 刪除索引庫(kù)中的索引文檔/1966.2.4 更新索引庫(kù)中的索引文檔/1976.2.5 索引的合并/1976.2.6 索引的定時(shí)更新/1976.2.7 索引的備份和恢復(fù)/1986.2.8 修復(fù)索引/1996.3 讀寫(xiě)并發(fā)控制/2006.4 優(yōu)化使用Lucene/2006.4.1 索引優(yōu)化/2016.4.2 查詢(xún)優(yōu)化/2026.4.3 實(shí)現(xiàn)時(shí)間加權(quán)排序/2066.4.4 實(shí)現(xiàn)字詞混合索引/2076.4.5 定制Similarity/2146.4.6 定制Tokenizer/2156.5 查詢(xún)大容量索引/2176.6 本章小結(jié)/218第7章 用戶(hù)界面設(shè)計(jì)與實(shí)現(xiàn)/2197.1 Lucene搜索接口(search代碼)/2197.2 搜索頁(yè)面設(shè)計(jì)/2217.2.1 用于顯示搜索結(jié)果的taglib/2217.2.2 用于搜索結(jié)果分頁(yè)的taglib/2237.2.3 設(shè)計(jì)一個(gè)簡(jiǎn)單的搜索頁(yè)面/2257.3 實(shí)現(xiàn)搜索接口/2277.3.1 布爾搜索/2277.3.2 指定范圍搜索/2287.3.3 搜索結(jié)果排序/2337.3.4 搜索頁(yè)面的索引緩存與更新/2347.4 實(shí)現(xiàn)關(guān)鍵詞高亮顯示/2367.5 實(shí)現(xiàn)分類(lèi)統(tǒng)計(jì)視圖/2397.6 實(shí)現(xiàn)相似文檔搜索/2447.7 實(shí)現(xiàn)AJAX自動(dòng)完成/2467.7.1 總體結(jié)構(gòu)/2477.7.2 服務(wù)器端處理/2477.7.3 瀏覽器端處理/2497.7.4 服務(wù)器端改進(jìn)/2507.7.5 部署總結(jié)/2617.8 jQuery實(shí)現(xiàn)的自動(dòng)完成/2627.9 集成其他功能/2677.9.1 拼寫(xiě)檢查/2677.9.2 分類(lèi)統(tǒng)計(jì)/2677.9.3 相關(guān)搜索/2717.9.4 再次查找/2747.9.5 搜索日志/2757.10 搜索日志分析/2767.11 本章小結(jié)/280第8章 其他高級(jí)主題/2818.1 使用Solr實(shí)現(xiàn)分布式搜索/2818.1.1 Solr服務(wù)器端的配置與中文支持/2828.1.2 把數(shù)據(jù)放進(jìn)Solr/2878.1.3 刪除數(shù)據(jù)/2898.1.4 客戶(hù)端搜索界面/2908.1.5 Solr索引庫(kù)的查找/2928.1.6 索引分發(fā)/2948.1.7 Solr搜索優(yōu)化/2988.1.8 Solr中字詞混合索引/3028.1.9 相關(guān)檢索/3048.1.10 搜索結(jié)果去重/3078.1.11 分布式搜索/3118.1.12 SolrJ查詢(xún)分析器/3158.1.13 擴(kuò)展SolrJ/3258.1.14 擴(kuò)展Solr/3278.1.15 Solr的.NET客戶(hù)端/3338.1.16 Solr的PHP客戶(hù)端/3348.2 圖像的OCR識(shí)別/3368.3 競(jìng)價(jià)排名/3438.4 Web圖分析/3448.5 使用并行程序分析數(shù)據(jù)/3508.6 RSS搜索/3518.7 本章小結(jié)/353參考資料/354

章節(jié)摘錄

  1995年,兩個(gè)年輕的學(xué)生Larry Page和Sergey Brin在一點(diǎn)上達(dá)成了共識(shí)——從大量數(shù)據(jù)中檢索信息是計(jì)算系統(tǒng)面臨的最大的挑戰(zhàn)之一。1996年,他們創(chuàng)建了一個(gè)叫做BackRub的搜索引擎。這個(gè)搜索引擎后來(lái)叫做Google。1998年,Page和Brin在Larry的大學(xué)宿舍創(chuàng)立Google公司的第一個(gè)數(shù)據(jù)中心。2000年,Google開(kāi)始成為全球最大的搜索引擎一直到現(xiàn)在。2005年,Google股票市值超過(guò)1000億美元。公司首次登陸華爾街時(shí),“讓世界更美好”便是它們闡明的目標(biāo)之一?! 〕怂阉饕妫葾JAX技術(shù)的Gmail郵箱和Google地圖創(chuàng)造了更好的Web界面視覺(jué)效果。和Gmail郵箱集成的聊天工具Gtalk也得到廣泛好評(píng)。和MSN在客戶(hù)端保存歷史聊天記錄不同,Gtalk聊天工具可以在服務(wù)器端保存并搜索聊天記錄??梢詾g覽整個(gè)地球的Google Earth也帶給人們一種全新的體驗(yàn)。  你想起什么大腦沒(méi)有記住的知識(shí)了嗎?用搜索引擎吧。它往往不會(huì)讓你失望?! ∈聦?shí)上這正是Google的創(chuàng)始人設(shè)想的。Google創(chuàng)始人Brin在一次用戶(hù)大會(huì)上講道:“如果你想搜就能搜,幾乎像擁有第二個(gè)大腦,那就妙極了?!本驮贐rin(一直是兩人中站在前臺(tái)的那個(gè))說(shuō)在興頭兒上的時(shí)候,Page在不聲不響地露面之后,便帶著“共謀者般的微笑”走出了房間。

編輯推薦

  首次揭示商業(yè)級(jí)搜索引擎實(shí)現(xiàn)秘密?! I(yè)內(nèi)知名開(kāi)發(fā)團(tuán)隊(duì)傾情奉獻(xiàn)?! ∫I(lǐng)Lucene開(kāi)發(fā)技術(shù)升級(jí)。  《自己動(dòng)手寫(xiě)搜索引擎》特色:  根據(jù)獵兔搜索開(kāi)發(fā)團(tuán)隊(duì)多年搜索和自然語(yǔ)言處理研發(fā)經(jīng)驗(yàn),將國(guó)內(nèi)搜索工程項(xiàng)目實(shí)踐結(jié)合當(dāng)前流行理論實(shí)現(xiàn)搜索技術(shù)。  全方位展現(xiàn)出一個(gè)商用級(jí)別的Lucene搜索解決方案,主要包括網(wǎng)絡(luò)爬蟲(chóng)、中文分詞和搜索實(shí)現(xiàn)等?! ∮蒙钊霚\出的方式介紹了隱馬爾可夫模型等流行理論。  相關(guān)的算法全部利用Java語(yǔ)言實(shí)現(xiàn)。

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    自己動(dòng)手寫(xiě)搜索引擎 PDF格式下載


用戶(hù)評(píng)論 (總計(jì)0條)

 
 

 

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7