出版時間:2008-8 出版社:人民郵電出版社 作者:王學(xué)松 頁數(shù):452
Tag標(biāo)簽:無
內(nèi)容概要
本書以Lucene構(gòu)建搜索引擎的開發(fā)過程為主線,由淺入深,循序漸進(jìn),為讀者展示如何使用Lucene開發(fā)自己的搜索引擎系統(tǒng)。全書內(nèi)容包括搜索引擎概述和原理、Lucene部署安裝、Nutch網(wǎng)絡(luò)蜘蛛與數(shù)據(jù)獲取、Lucene索引建立、Lucene檢索與查詢、搜索結(jié)果排序、文檔分析器與中文分詞、格式化文本分析、分布式搜索與緩存等。為便于讀者理解搜索引擎快速開發(fā)過程,本書最后幾章進(jìn)行了應(yīng)用實例的講解,包括Nutch構(gòu)建專題搜索、Lucene構(gòu)建企業(yè)級搜索實例以及相關(guān)的整體工程性能測試?! ”緯m合對搜索引擎開發(fā)有興趣的讀者閱讀,包括搜索引擎開發(fā)的初學(xué)者、高等院校、信息專業(yè)學(xué)生、從事搜索開發(fā)的程序設(shè)計人員等。
書籍目錄
第1篇 入門篇第1章 搜索引擎概述1.1 什么是搜索引擎1.1.1 搜索引擎與信息檢索1.1.2 搜索引擎的概念1.1.3 搜索引擎的使用1.1.4 搜索引擎發(fā)展歷史1.2 搜索引擎分類1.2.1 按照工作方式分類1.2.2 按照領(lǐng)域范圍分類1.2.3 信息類型分類1.3 主流搜索引擎1.3.1 全球著名搜索引擎1.3.2 中文搜索引擎的發(fā)展歷史1.3.3 著名中文搜索引擎1.3.4 其他細(xì)化搜索引擎1.4 搜索引擎評價原則1.4.1 評價指標(biāo)體系1.4.2 其他評測因素1.5 搜索引擎相關(guān)資源1.5.1 搜索引擎開源項目1.5.2 搜索引擎研究網(wǎng)站1.5.3 搜索論壇和廠商黑板報1.6 系統(tǒng)運(yùn)行環(huán)境準(zhǔn)備1.6.1 Java環(huán)境安裝設(shè)置1.6.2 Tomcat服務(wù)器安裝1.6.3 Eclipse開發(fā)環(huán)境準(zhǔn)備1.7 未來搜索技術(shù)前瞻1.7.1 現(xiàn)狀存在問題1.7.2 未來發(fā)展趨勢1.8 小結(jié)第2章 搜索引擎原理探秘2.1 解密搜索引擎原理2.1.1 搜索引擎技術(shù)框架2.1.2 網(wǎng)頁信息抓取技術(shù)2.1.3 網(wǎng)頁內(nèi)容分析技術(shù)2.1.4 網(wǎng)頁索引建立技術(shù)2.1.5 用戶檢索與結(jié)果排序2.1.6 網(wǎng)頁檢索工具與接口2.2 網(wǎng)絡(luò)爬蟲簡單實現(xiàn)2.2.1 網(wǎng)絡(luò)蜘蛛功能需求2.2.2 網(wǎng)絡(luò)蜘蛛實現(xiàn)原理2.2.3 網(wǎng)絡(luò)爬蟲系統(tǒng)結(jié)構(gòu)2.2.4 網(wǎng)頁采集程序設(shè)計2.2.5 網(wǎng)頁采集程序?qū)崿F(xiàn)2.2.6 程序?qū)崿F(xiàn)存儲擴(kuò)展2.3 網(wǎng)頁分析程序?qū)崿F(xiàn)2.3.1 網(wǎng)頁分析功能需求2.3.2 網(wǎng)頁分析實現(xiàn)原理2.3.3 網(wǎng)頁分析系統(tǒng)結(jié)構(gòu)2.3.4 網(wǎng)頁分析程序設(shè)計2.3.5 文本語素分割與過濾2.4 網(wǎng)頁索引程序?qū)崿F(xiàn)2.4.1 網(wǎng)頁索引功能需求2.4.2 網(wǎng)頁索引實現(xiàn)原理2.4.3 網(wǎng)頁索引程序設(shè)計2.4.4 網(wǎng)頁索引程序?qū)崿F(xiàn)2.5 檢索程序?qū)崿F(xiàn)2.5.1 檢索功能需求2.5.2 檢索實現(xiàn)原理2.5.3 檢索程序設(shè)計2.5.4 網(wǎng)頁檢索程序?qū)崿F(xiàn)2.6 簡單搜索引擎系統(tǒng)2.7 小結(jié)第3章 開源搜索引擎入門3.1 開源搜索引擎簡介3.1.1 Lucene系統(tǒng)概述3.1.2 Nutch概述3.2 Lucene全文檢索系統(tǒng)部署3.2.1 下載Lucene系統(tǒng)3.2.2 Lucene部署配置3.2.3 Lucene測試運(yùn)行3.3 Lucene開發(fā)實例入門3.3.1 Lucene實例功能3.3.2 Lucene開發(fā)實例3.3.3 代碼實例解析3.4 Nutch開源搜索引擎部署3.4.1 Cygwin軟件安裝3.4.2 Nutch下載與安裝3.4.3 Nutch系統(tǒng)環(huán)境測試3.4.4 Nutch搜索頁面部署3.5 Nutch系統(tǒng)調(diào)試與開發(fā)3.5.1 Eclipse中加載Nutch3.5.2 Nutch工程編譯與發(fā)布3.6 小結(jié)第2篇 內(nèi)核揭秘篇第4章 搜索引擎數(shù)據(jù)獲取4.1 網(wǎng)絡(luò)蜘蛛原理4.1.1 體系結(jié)構(gòu)設(shè)計4.1.2 訪問策略與算法4.1.3 效率優(yōu)化與更新4.1.4 蜘蛛訪問規(guī)范4.1.5 開源蜘蛛簡介4.2 Nutch網(wǎng)絡(luò)蜘蛛4.2.1 Nutch網(wǎng)絡(luò)蜘蛛概述4.2.2 Nutch抓取模式分類4.2.3 抓取測試站點建立4.3 Nutch局域網(wǎng)抓取4.3.1 本地下載準(zhǔn)備4.3.2 啟動下載過程4.3.3 下載過程解析4.3.4 下載多個網(wǎng)站4.4 Nutch互聯(lián)網(wǎng)抓取4.4.1 下載列表獲取4.4.2 下載大量網(wǎng)站4.5 Nutch抓取比較4.6 Nutch結(jié)果檢測4.6.1 網(wǎng)頁內(nèi)容檢索4.6.2 使用Readdb獲取摘要4.6.3 使用SegRead讀取分段4.6.4 Luke工具使用4.7 Nutch配置文件解析4.8 Heritrix網(wǎng)絡(luò)蜘蛛4.8.1 Heritrix概述4.8.2 Heritrix體系結(jié)構(gòu)4.8.3 Heritrix安裝與使用4.9 小結(jié)第5章 搜索引擎信息索引5.1 文檔索引原理5.1.1 索引概述5.1.2 索引基本結(jié)構(gòu)5.1.3 倒排索引原理5.1.4 索引分類5.1.5 高性能索引5.2 Lucene索引器5.2.1 Lucene索引介紹5.2.2 Lucene索引結(jié)構(gòu)5.2.3 多文件索引結(jié)構(gòu)5.2.4 復(fù)合索引結(jié)構(gòu)5.3 Lucene索引實例5.3.1 索引創(chuàng)建代碼解析5.3.2 索引創(chuàng)建器(IndexWriter)5.3.3 索引管理器(IndexReader)5.3.4 索引修改器(IndexModifier)5.3.5 索引分析器(Analyzer)5.4 Lucene索引操作5.4.1 添加文本文件索引5.4.2 創(chuàng)建Lucene增量索引5.4.3 使用索引項刪除文檔5.4.4 使用編號刪除文檔5.4.5 壓縮文檔編號5.4.6 索引文檔更新5.5 Lucene索引高級特性5.5.1 選擇索引域類型5.5.2 索引參數(shù)優(yōu)化5.5.3 使用磁盤索引5.5.4 使用內(nèi)存索引5.5.5 同步與鎖機(jī)制5.6 Lucene高級應(yīng)用實例5.6.1 創(chuàng)建本地搜索的索引5.6.2 索引數(shù)據(jù)庫記錄5.6.3 索引優(yōu)化與合并5.7 Nutch中的Lucene索引5.8 小結(jié)第6章 搜索引擎查詢處理6.1 信息查詢原理6.1.1 信息查詢概述6.1.2 查詢基本流程6.1.3 查詢結(jié)果顯示6.1.4 高性能查詢6.2 Lucene查詢概述6.2.1 Lucene查詢操作基礎(chǔ)6.2.2 Lucene查詢實例入門6.2.3 查詢工具IndexSearcher類6.2.4 查詢封裝Query類6.2.5 查詢分析器QueryParser類6.2.6 查詢結(jié)果集Hits類6.3 Lucene基本查詢6.3.1 Lucene查詢Query對象6.3.2 最小項查詢TermQuery6.3.3 區(qū)間范圍搜索RangeQuery6.3.4 邏1/4組合搜索BooleanQuery6.3.5 字串前綴搜索PrefixQuery6.3.6 短語搜索PhraseQuery6.3.7 模糊搜索FuzzyQuery6.3.8 通配符搜索WildcardQuery6.3.9 位置跨度搜索SpanQuery6.4 Lucene高級查詢6.4.1 索引內(nèi)存檢索6.4.2 多關(guān)鍵字跨域檢索6.4.3 多檢索器跨索引檢索6.5 Nutch中的Lucene查詢6.6 小結(jié)第7章 搜索引擎結(jié)果排序7.1 搜索引擎文檔排序原理7.1.1 傳統(tǒng)檢索排序技術(shù)7.1.2 向量模型排序局限7.1.3 搜索引擎相關(guān)性排序7.1.4 鏈接分析PageRank原理7.1.5 搜索引擎排序流程7.2 Lucene檢索排序7.2.1 Lucene相關(guān)性因素7.2.2 Lucene相關(guān)排序流程7.2.3 Lucene排序計算體系7.2.4 Lucene排序控制方法7.3 文檔Boost加權(quán)排序7.3.1 Lucene中Boost介紹7.3.2 Boost值全文檔排序7.3.3 Boost值文檔域排序7.3.4 BoostingTermQuery排序7.4 Sort對象檢索排序7.4.1 Sort對象概述7.4.2 Sort對象相關(guān)性排序7.4.3 Sort對象文檔編號排序7.4.4 Sort對象獨(dú)立域排序7.4.5 Sort對象聯(lián)合域排序7.4.6 Sort對象逆向排序7.5 Lucene相關(guān)性公式7.5.1 Lucene評分結(jié)果分析7.5.2 Lucene排序公式7.5.3 其他動態(tài)排序因子7.6 Lucene自定義排序7.6.1 自定義排序比較接口7.6.2 自定義排序接口類實例7.6.3 自定義排序結(jié)果測試實例7.6.4 自定義排序測試結(jié)果7.7 Nutch中的結(jié)果排序7.7.1 Nutch排序因素7.7.2 Nutch鏈接分析7.7.3 Nutch相關(guān)度計算7.8 小結(jié)第8章 文檔分析器與中文分詞8.1 文檔分析與中文分詞原理8.1.1 文檔分析預(yù)處理概述8.1.2 文檔分析基本流程8.1.3 中文分析處理中的分詞8.2 Lucene分析器內(nèi)核原理8.2.1 Lucene分析器原理8.2.2 Analysis包簡介8.2.3 Analyzer類的組合結(jié)構(gòu)8.2.4 JavaCC構(gòu)造分析器8.2.5 StopAnalyzer內(nèi)核代碼分析8.2.6 StandardAnalyzer內(nèi)核代碼分析8.3 Lucene分析器應(yīng)用模式8.3.1 使用默認(rèn)分析器建立索引8.3.2 使用多種分析器建立索引8.3.3 使用分析器檢索查詢8.4 Lucene主要分析器應(yīng)用實例8.4.1 停用詞分析器StopAnalyzer8.4.2 標(biāo)準(zhǔn)分析器StandardAnalyzer8.4.3 簡單分析器SimpleAnalyzer8.4.4 空格分析器WhitespaceAnalyzer8.4.5 關(guān)鍵字分析器KeywordAnalyzer8.5 TokenStream分詞器內(nèi)核分析8.5.1 Tokenizer分詞器8.5.2 標(biāo)準(zhǔn)分詞器StandardTokenizer8.5.3 字符分詞器CharTokenizer8.5.4 空格分詞器WhiteSpaceTokenizer8.5.5 字母分詞器LetterTokenizer8.5.6 小寫分詞器LowerCaseTokenizer8.6 TokenStream過濾器內(nèi)核分析8.6.1 TokenFilter過濾器8.6.2 標(biāo)準(zhǔn)過濾器StandardFilter8.6.3 停用詞過濾器StopFilter8.6.4 小寫過濾器LowerCaseFilter8.6.5 長度過濾器LengthFilter8.6.6 詞干過濾器PorterStemFilter8.7 Lucene中文分詞8.7.1 中文分詞基本原理方法8.7.2 StandardAnalyzer分析器中文處理8.7.3 CJKAnalyzer中文分析器8.7.4 ChineseAnalyzer中文分析器8.7.5 IK_CAnalyzer中文分析器8.7.6 中科院ICTCLAS中文分詞8.7.7 JE中文分詞8.7.8 中文分詞問題8.8 Nutch分詞和預(yù)處理8.8.1 Nutch分析器8.8.2 Nutch中文分詞8.9 小結(jié)第9章 搜索引擎文本分析9.1 非結(jié)構(gòu)化文本簡介9.1.1 非結(jié)構(gòu)化文本概述9.1.2 非結(jié)構(gòu)化文本檢索9.2 HTML文檔分析9.2.1 主流HTML文檔分析器9.2.2 HTMLParser安裝配置9.2.3 HTMLParser的框架結(jié)構(gòu)9.3 HTMLParser應(yīng)用實例9.3.1 HTMLParser功能模式9.3.2 HTMLParser內(nèi)容解析方式9.3.3 Visitor模式正文解析9.3.4 Filter模式簡單鏈接提取9.3.5 Filter模式搜索鏈接提取9.3.6 Lexer模式遍歷文檔9.4 PDF文檔分析9.4.1 常用的PDF處理包9.4.2 PDFBox安裝配置9.5 PDFBox應(yīng)用實例9.5.1 PDFBox提取文檔內(nèi)容9.5.2 PDFBox文檔內(nèi)容索引9.6 Office文檔分析9.6.1 常用Office文檔處理包9.6.2 使用POI安裝與配置9.6.3 POI原理與接口介紹9.7 POI分析Office文檔實例9.7.1 POI處理Excel文檔9.7.2 POI處理Word文檔9.8 XML文檔分析9.8.1 主流XML文檔分析器9.8.2 JDOM分析器安裝配置9.8.3 xerces分析器安裝配置9.9 XML解析應(yīng)用實例9.9.1 使用JDOM分析XML 文檔9.9.2 使用xerces分析XML 文檔9.10 Nutch文檔處理9.11 小結(jié)第10章 分布式搜索與緩存10.1 分布式檢索與緩存10.1.1 分布式搜索引擎現(xiàn)狀10.1.2 分布式搜索引擎原理10.1.3 搜索引擎緩存現(xiàn)狀10.1.4 搜索引擎緩存原理10.2 Nutch與分布式檢索10.2.1 Google分布式文件系統(tǒng)10.2.2 MapReduce系統(tǒng)介紹10.2.3 Hadoop分布式文件系統(tǒng)10.2.4 Nutch分布式文件系統(tǒng)10.2.5 Nutch分布式檢索概述10.2.6 Nutch分布式檢索器10.3 Lucene分布式檢索10.3.1 Socket通信基礎(chǔ)10.3.2 Lucene索引服務(wù)器10.4 Nutch與搜索緩存10.5 開源系統(tǒng)緩存系統(tǒng)10.6 小結(jié)第3篇 實戰(zhàn)篇第11章 Nutch專題搜索引擎實例11.1 專題搜索需求分析11.1.1 專題搜索功能需求11.1.2 專題搜索用例分析11.2 構(gòu)建Nutch基礎(chǔ)搜索引擎11.2.1 Nutch搜索功能分析11.2.2 信息下載功能測試11.2.3 Nutch基礎(chǔ)Web檢索11.2.4 Web用戶頁面修改11.3 專題搜索系統(tǒng)設(shè)計11.3.1 系統(tǒng)框架設(shè)計11.3.2 選擇開發(fā)工具組件11.4 專題關(guān)鍵詞管理11.4.1 專題關(guān)鍵詞策略11.4.2 關(guān)鍵詞存儲設(shè)計11.4.3 關(guān)鍵詞管理程序11.5 專題資源發(fā)現(xiàn)11.5.1 專題網(wǎng)頁鏈接發(fā)現(xiàn)11.5.2 專題資源網(wǎng)站提取11.6 專題信息下載11.6.1 批量信息下載11.6.2 信息自動下載11.7 專題信息分析與索引11.7.1 網(wǎng)頁信息分析11.7.2 創(chuàng)建索引11.8 檢索輔助功能11.8.1 相關(guān)詞推薦11.8.2 檢索詞高亮顯示11.8.3 檢索結(jié)果翻頁11.9 小結(jié)第12章 Lucene實現(xiàn)企業(yè)搜索實例12.1 企業(yè)搜索需求分析12.1.1 企業(yè)搜索需求概述12.1.2 企業(yè)搜索用例分析12.2 企業(yè)級搜索系統(tǒng)設(shè)計12.2.1 系統(tǒng)框架設(shè)計12.2.2 Lucene檢索框架12.3 企業(yè)級搜索系統(tǒng)設(shè)計12.3.1 創(chuàng)建Lucene工程12.3.2 全文檢索索引生成12.3.3 全文檢索檢索頁面12.4 數(shù)據(jù)引擎設(shè)計12.4.1 數(shù)據(jù)庫數(shù)據(jù)管理12.4.2 非結(jié)構(gòu)化文檔12.5 企業(yè)信息索引12.5.1 數(shù)據(jù)索引建立12.5.2 信息檢索代碼12.5.3 檢索Web代碼12.5.4 檢索結(jié)果測試12.6 小結(jié)
章節(jié)摘錄
第1篇 入門篇 第1章 搜索引擎概述 1.1 什么是搜索引擎 搜索引擎是一款特別的軟件系統(tǒng),能夠從互聯(lián)網(wǎng)上自動搜集信息,并為用戶提供查詢服務(wù)。搜索引擎對原始文檔進(jìn)行了一系列的整理和處理。用戶的查詢結(jié)果是搜索引擎按照某種規(guī)則計算獲得的。搜索引擎為網(wǎng)民提供了資源查找和導(dǎo)航的有效手段。 1.1.1 搜索引擎與信息檢索 搜索引擎并不是一個完全創(chuàng)新的系統(tǒng),而是借鑒了以往全文檢索系統(tǒng)和網(wǎng)絡(luò)軟件系統(tǒng)開發(fā)而成的。搜索引擎采用了以往產(chǎn)品的很多技術(shù)和思路,尤其是繼承了很多信息檢索系統(tǒng)的技術(shù)和方法?;ヂ?lián)網(wǎng)搜索引擎在繼承歷史技術(shù)的同時,針對互聯(lián)網(wǎng)信息處理的特點,開發(fā)出了互聯(lián)網(wǎng)信息查找工具。
編輯推薦
《Lucene+nutch搜索引擎開發(fā)》適合對搜索引擎開發(fā)有興趣的讀者閱讀,包括搜索引擎開發(fā)的初學(xué)者、高等院校、信息專業(yè)學(xué)生、從事搜索開發(fā)的程序設(shè)計人員等。入門:引導(dǎo)讀者快速掌握(Lucene和nutch的使用方法);揭秘:深度剖析搜索引擎內(nèi)核;實戰(zhàn):手把手帶您構(gòu)建企業(yè)級搜索引擎;推薦:Web開發(fā)專家強(qiáng)烈推薦?! 』ヂ?lián)網(wǎng)搜索的使用水平可以反映全民的信息處理能力,幾年前有研究發(fā)現(xiàn)美國用戶比歐洲用戶的互聯(lián)網(wǎng)使用水平領(lǐng)先半年左右,主要是根據(jù)誰搜索時平均使用的關(guān)鍵詞的個數(shù)多。中文用戶的搜索使用水平相對于西文用戶目前仍然處于比較初級的階段,而中文網(wǎng)站搜索功能的缺失也是一個重要的因素?! 【W(wǎng)站擁有了較多內(nèi)容后,最先會考慮基于目錄的內(nèi)容分類,以解決信息快速定位的問題,隨著內(nèi)容量的進(jìn)一步增加,很多內(nèi)容在發(fā)表之后就很快被湮沒,成為“信息孤島”,而不斷加深的目錄結(jié)構(gòu)也會讓用戶逐漸失去耐心,這時,關(guān)鍵詞檢索的優(yōu)勢就體現(xiàn)出來了: 關(guān)鍵詞檢索可以讓處于“信息孤島”狀態(tài)的內(nèi)容以一種更直接的方法提供給用戶; 和基于目錄/分類的樹形結(jié)構(gòu)不同,基于關(guān)鍵詞檢索還可以讓內(nèi)容之間實現(xiàn)網(wǎng)狀的關(guān)聯(lián)結(jié)構(gòu),從而大大提高信息的引用密度?! 』趥鹘y(tǒng)數(shù)據(jù)庫的關(guān)鍵詞檢索由于性能問題讓很多網(wǎng)站放棄了搜索功能,問題的解決歸根結(jié)底還是需要一個全文引擎。而Lucene開源引擎的出現(xiàn)讓這種原來被少數(shù)公司掌握的技術(shù)得到了迅速的普及,這里應(yīng)該再次感謝引擎的核心貢獻(xiàn)者Doug Cutting先生,同時也希望有更多的中文開發(fā)人員能積極投入:到Lucene的相關(guān)項目開發(fā)中去,尤其在中文和其他亞洲雙字節(jié)語言處理方面的問題?! ucene也是我學(xué)習(xí)的第一個Java程序,當(dāng)初是通過jdb一行行dubug了解其中的原理和機(jī)制的,非常高興有這樣一本專門的參考書出現(xiàn),它無疑會為開發(fā)人員了解并更快掌握全文檢索技術(shù)節(jié)省大量的時間。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
Lucene+nutch搜索引擎開發(fā) PDF格式下載