開(kāi)發(fā)自己的搜索引擎

出版時(shí)間:2010-1  出版社:人民郵電出版社  作者:邱哲,符滔滔,王學(xué)松 著  頁(yè)數(shù):562  
Tag標(biāo)簽:無(wú)  

前言

  2007年初,我們編寫(xiě)了本書(shū)第l版,該書(shū)曾經(jīng)連續(xù)數(shù)周占據(jù)互動(dòng)出版網(wǎng)計(jì)算機(jī)類暢銷書(shū)排行榜首。轉(zhuǎn)眼間兩年過(guò)去了,我收集了很多讀者的建議和問(wèn)題,針對(duì)書(shū)中的細(xì)節(jié)進(jìn)行了調(diào)整,推出了本書(shū)的第2版?! 〉?版主要在以下方面進(jìn)行了改進(jìn)?! 。?)對(duì)第l版中語(yǔ)言進(jìn)行了優(yōu)化,以使行文更加流暢,便于閱讀,同時(shí)對(duì)一些表達(dá)模糊的地方進(jìn)行了改寫(xiě)?! 。?)針對(duì)讀者提出的一些問(wèn)題,進(jìn)行了勘誤。 ?。?)對(duì)書(shū)中的大部分Visio圖片進(jìn)行了重繪,看起來(lái)更美觀。 ?。?)對(duì)書(shū)中涉及的軟件進(jìn)行全面梳理,對(duì)版本進(jìn)行了更新,主要包括以下兩部分?!  ucene采用了2.0穩(wěn)定版,正文中的范例都是使用它來(lái)實(shí)現(xiàn)的。目前Lucene已經(jīng)發(fā)布到了2.4版,但是這個(gè)版本還沒(méi)有大規(guī)模的商業(yè)化應(yīng)用,存在很多不穩(wěn)定因素,因此筆者只在附錄中介紹了其核心功能?!  ぞW(wǎng)絡(luò)爬蟲(chóng)采用了Heritrix1.14.0版本,包括后面的大案例都是使用這個(gè)版本重新實(shí)現(xiàn)的?! 。?)去除了第9章中已經(jīng)不再使用的Google的searchAPI部分。

內(nèi)容概要

  《開(kāi)發(fā)自己的搜索引擎:Lucene+Heritrix(第2版)》是一本介紹搜索引擎開(kāi)發(fā)的書(shū)籍,通過(guò)《開(kāi)發(fā)自己的搜索引擎:Lucene+Heritrix(第2版)》,讀者可以獨(dú)立構(gòu)建一個(gè)企業(yè)級(jí)的搜索引擎網(wǎng)站。《開(kāi)發(fā)自己的搜索引擎:Lucene+Heritrix(第2版)》講解了搜索引擎與信息檢索基礎(chǔ),Lucene入門實(shí)例,索引的建立,使用Lucene來(lái)搜索,排序,分析器,對(duì)Word、Excel和PDF格式文檔的解析,Compass搜索引擎框架,Lucene分布式,爬蟲(chóng)Heritrix,HTMLParser,DWR等內(nèi)容。最后綜合這些技術(shù),構(gòu)建了一個(gè)典型的垂直搜索系統(tǒng),具有很強(qiáng)的商業(yè)實(shí)用價(jià)值。  《開(kāi)發(fā)自己的搜索引擎:Lucene+Heritrix(第2版)》是一本使用Lucene和Heritrix來(lái)講解搜索引擎構(gòu)建的書(shū),通過(guò)對(duì)API和源代碼的分析,力求使讀者在應(yīng)用的基礎(chǔ)上,能夠深入其核心,自行擴(kuò)展和開(kāi)發(fā)相應(yīng)組件,發(fā)揮想象力,開(kāi)發(fā)出更具有創(chuàng)意的搜索引擎產(chǎn)品?!  堕_(kāi)發(fā)自己的搜索引擎:Lucene+Heritrix(第2版)》適合Java程序員和從事計(jì)算機(jī)軟件開(kāi)發(fā)的編程人員閱讀,同時(shí)也可以作為搜索引擎愛(ài)好者的入門書(shū)籍。

作者簡(jiǎn)介

  邱哲,北京理工大學(xué)軟件工程碩士?,F(xiàn)為Eskalate.com公司技術(shù)經(jīng)理,同時(shí)負(fù)責(zé)開(kāi)發(fā)人員招聘工作一-主要從事歐美軟件外包開(kāi)發(fā),曾承接多家美國(guó)本土公司項(xiàng)目,在J2EE方面有7年的開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)編寫(xiě)了《souts Web設(shè)計(jì)與開(kāi)發(fā)大全》、《開(kāi)發(fā)自己的搜索引擎——Lucerie 2.0+Heritrix》?! ⊥鯇W(xué)松,博士。曾任職知名互聯(lián)網(wǎng)搜索引擎公司,擔(dān)任高級(jí)軟件工程師、研發(fā)經(jīng)理等職位,參與大型搜索引擎開(kāi)發(fā)多年。開(kāi)發(fā)完成億級(jí)網(wǎng)頁(yè)的互聯(lián)網(wǎng)科技類信息垂直搜索引擎系統(tǒng),完成中文搜索引擎的頁(yè)面下載與分析、大規(guī)模索引建立、分類聚類技術(shù)、高并發(fā)檢索和Web高速訪問(wèn)技術(shù)開(kāi)發(fā)。目前從事海量信息挖掘、語(yǔ)義網(wǎng)搜索引擎和基于內(nèi)容圖像檢索的研究和開(kāi)發(fā)。

書(shū)籍目錄

第1章 搜索引擎與信息檢索 11.1 搜索引擎的歷史 11.1.1 萌芽:Archie、Gopher 11.1.2 起步:Robot(網(wǎng)絡(luò)機(jī)器人)的出現(xiàn)與Spider(網(wǎng)絡(luò)爬蟲(chóng)) 31.1.3 發(fā)展:Excite、Galaxy、Yahoo等 41.1.4 繁榮:Infoseek、AltaVista、Google和Baidu 61.2 信息檢索系統(tǒng)的基本知識(shí) 91.2.1 信息檢索系統(tǒng) 91.2.2 信息檢索的過(guò)程 111.2.3 傳統(tǒng)查找的優(yōu)點(diǎn)和不足 121.2.4 使用索引提高檢索速度 121.2.5 倒排索引 131.2.6 評(píng)價(jià)信息檢索系統(tǒng)的標(biāo)準(zhǔn) 141.3 Lucene的簡(jiǎn)介 141.4 小結(jié) 15第2章 Lucene入門實(shí)例 162.1 實(shí)例介紹 162.1.1 實(shí)例說(shuō)明 162.1.2 開(kāi)發(fā)過(guò)程 162.2 準(zhǔn)備工作 172.2.1 將文檔的全角標(biāo)點(diǎn)轉(zhuǎn)成半角標(biāo)點(diǎn) 172.2.2 將大文檔切分成多個(gè)小文檔 202.2.3 預(yù)處理源文件的統(tǒng)一接口 212.3 創(chuàng)建Eclipse工程 222.3.1 準(zhǔn)備工作 222.3.2 創(chuàng)建工程并引入Lucene的JAR包 242.3.3 運(yùn)行文檔預(yù)處理類 312.3.4 創(chuàng)建處理文檔的索引類:IndexProcessor 322.3.5 創(chuàng)建檢索索引的搜索類 342.4 運(yùn)行效果 382.5 小結(jié) 41第3章 索引的建立 423.1 Document邏輯文件 423.1.1 Lucene的Document 423.1.2 為Document添加多種Field 433.1.3 Document的內(nèi)部實(shí)現(xiàn) 453.2 Field的內(nèi)部實(shí)現(xiàn) 463.2.1 Field包含的類 473.2.2 Field類的構(gòu)造方法 483.3 Lucene的索引工具IndexWriter 493.3.1 IndexWriter的初始化 503.3.2 向索引添加文檔 523.3.3 限制每個(gè)Field中的詞條的數(shù)量 533.4 Lucene索引過(guò)程詳解 543.4.1 Lucene索引建立過(guò)程概覽 543.4.2 使用addDocument方法向索引添加文檔 553.4.3 DocumentWriter的addDocument方法 573.4.4 文檔的倒排 623.4.5 對(duì)postingTable進(jìn)行排序 663.4.6 將Posting信息寫(xiě)入索引 683.5 索引文件格式 683.5.1 索引的segment 693.5.2 .fnm格式 693.5.3 .fdx與.fdt格式 703.5.4 .tii與.tis格式 713.5.5 deletable格式 713.5.6 復(fù)合索引格式.cfs 713.6 索引過(guò)程的調(diào)優(yōu) 723.6.1 合并因子mergeFactor 723.6.2 maxMergeDocs 733.6.3 minMergeDocs 733.7 索引的合并與索引的優(yōu)化 743.7.1 FSDirectory與RAMDirectory 743.7.2 使用IndexWriter來(lái)合并索引 753.7.3 索引的優(yōu)化 763.8 從索引中刪除文檔 783.8.1 索引的讀取工具Index-Reader 783.8.2 使用文檔ID號(hào)來(lái)刪除特定文檔 813.8.3 使用Field信息來(lái)刪除批量文檔 843.9 Lucene的同步問(wèn)題 853.9.1 為什么要進(jìn)行同步以及Lucene的同步法則 853.9.2 commit.lock與write.lock 853.10 Lucene 2.0的新類:IndexModifier類 863.11 小結(jié) 87第4章 Lucene搜索 884.1 使用IndexSearcher進(jìn)行搜索 884.1.1 初始化IndexSearcher 884.1.2 IndexSearcher的最簡(jiǎn)單使用 894.1.3 IndexSearcher的多種search方法 904.2 Hits類詳解 924.2.1 Hits類的公有接口 924.2.2 效率分析 934.2.3 Hits內(nèi)部的緩存 954.2.4 Hits類的工作原理 984.3 對(duì)搜索結(jié)果的評(píng)分 984.3.1 文檔與詞條的向量空間 984.3.2 Lucene的文檔得分算法 994.4 構(gòu)建各種Lucene內(nèi)建的Query對(duì)象 1034.4.1 toString:查看原子查詢 1034.4.2 查詢重寫(xiě)與權(quán)重 1034.4.3 TermQuery詞條搜索 1044.4.4 BooleanQuery布爾搜索 1054.4.5 RangeQuery范圍搜索 1134.4.6 PrefixQuery前綴搜索 1174.4.7 PhraseQuery:短語(yǔ)搜索 1194.4.8 MultiPhraseQuery:多短語(yǔ)搜索 1234.4.9 FuzzyQuery模糊搜索 1284.4.10 WildcardQuery通配符搜索 1314.4.11 SpanQuery跨度搜索 1324.5 第三方提供的Query對(duì)象:RegexQuery 1404.6 通過(guò)QueryParser轉(zhuǎn)換用戶關(guān)鍵字 1424.6.1 詞條的定義 1434.6.2 QueryParser初始化 1434.6.3 改變QueryParser默認(rèn)的布爾邏輯 1444.6.4 短語(yǔ)和QueryParser 1454.6.5 FuzzyQuery和QueryParser 1474.6.6 通配符與QueryParser 1474.6.7 查找指定的Field 1484.6.8 RangeQuery與QueryParser 1514.6.9 QueryParser和SpanQuery 1524.7 多Field搜索與多索引搜索 1534.7.1 多域搜索MultiFieldQuery-Parser 1534.7.2 MultiSearcher在多個(gè)索引上搜索 1554.7.3 ParalellMultiSearcher:多線程搜索 1584.7.4 Searchable和RMI 1614.8 小結(jié) 162第5章 排序、過(guò)濾和分頁(yè) 1635.1 相關(guān)度排序 1635.1.1 使用Score進(jìn)行自然排序 1635.1.2 Searcher的explain方法 1655.1.3 通過(guò)改變boost值來(lái)改變文檔的得分 1665.2 使用Sort來(lái)排序 1705.2.1 Sort簡(jiǎn)介 1705.2.2 SortField 1715.2.3 按文檔得分進(jìn)行排序 1725.2.4 按文檔的內(nèi)部ID號(hào)來(lái)排序 1755.2.5 按一個(gè)或多個(gè)Field來(lái)排序 1755.2.6 改變SortField中的Locale信息 1825.3 搜索的過(guò)濾器 1835.3.1 過(guò)濾器的基本結(jié)構(gòu) 1835.3.2 一個(gè)簡(jiǎn)單的Filter:建立索引 1845.3.3 一個(gè)簡(jiǎn)單的Filter:打印索引文檔信息 1865.3.4 一個(gè)簡(jiǎn)單的Filter:安全級(jí)別與過(guò)濾器代碼 1875.3.5 一個(gè)簡(jiǎn)單的Filter:在搜索時(shí)應(yīng)用過(guò)濾器 1885.3.6 一個(gè)簡(jiǎn)單的Filter:總結(jié) 1905.3.7 按范圍過(guò)濾RangeFilter 1905.3.8 在結(jié)果中查詢QueryFilter 1945.3.9 緩存結(jié)果:Caching-WrapperFilter 1975.4 翻頁(yè)問(wèn)題 1985.4.1 依賴于session的翻頁(yè) 1985.4.2 多次查詢 1985.4.3 緩存+多次查詢 1995.4.4 緩存+多次查詢+數(shù)據(jù)庫(kù) 1995.5 小結(jié) 200第6章 Lucene的分析器 2016.1 分析 2016.1.1 分詞 2016.1.2 Lucene的分析器結(jié)構(gòu) 2026.1.3 Lucene的分析器實(shí)現(xiàn) 2046.2 Lucene與JavaCC 2056.2.1 JavaCC簡(jiǎn)介 2056.2.2 JavaCC為L(zhǎng)ucene提供的分析器腳本 2066.2.3 Lucene的標(biāo)準(zhǔn)分析器 2106.2.4 標(biāo)準(zhǔn)過(guò)濾器:Standard-Filter 2116.2.5 大小寫(xiě)轉(zhuǎn)換器:Lower-CaseFilter 2126.2.6 忽略詞過(guò)濾器:StopFilter 2136.3 分析器的進(jìn)階 2136.3.1 再看StandardAnalyzer中的管道過(guò)濾器結(jié)構(gòu) 2146.3.2 長(zhǎng)度過(guò)濾器:LengthFilter 2146.3.3 PerFieldAnalyzerWrapper 2156.3.4 其他 2156.4 對(duì)中文的分析 2166.4.1 現(xiàn)有的中文分詞方式簡(jiǎn)介 2166.4.2 中科院的分詞軟件和JE分詞 2186.5 小結(jié) 224第7章 Word、Excel和PDF的處理 2257.1 使用PDFBox處理PDF文檔 2257.1.1 PDFBox的下載 2257.1.2 在Eclipse中配置 2267.1.3 使用PDFBox解析PDF內(nèi)容 2277.1.4 運(yùn)行效果 2287.1.5 與Lucene的集成 2307.2 使用xpdf來(lái)處理中文PDF文檔 2327.2.1 xpdf的下載 2327.2.2 配置 2327.2.3 提取中文 2337.2.4 運(yùn)行效果 2367.3 使用POI來(lái)處理Excel和Word文件格式 2377.3.1 對(duì)Excel的處理類 2377.3.2 ExcelReader的運(yùn)行效果 2417.3.3 POI中Excel文件Cell的類型 2437.3.4 對(duì)Word的處理類 2457.4 使用Jacob來(lái)處理Word文檔 2477.4.1 Jacob的下載 2477.4.2 在Eclipse中配置 2477.5 小結(jié) 249第8章 Compass:封裝了Lucene的框架 2508.1 Compass簡(jiǎn)介 2508.1.1 Compass的下載 2508.1.2 Compass的代碼片斷 2508.2 Compass的初始配置 2528.2.1 Compass的配置文件 2528.2.2 將索引存放于內(nèi)存中 2538.2.3 使用JDBC來(lái)存儲(chǔ)索引 2538.2.4 使用連接池來(lái)存儲(chǔ)索引 2548.2.5 加載compass.cfg.xml文件 2558.3 域模型的配置 2558.3.1 實(shí)體代碼 2558.3.2 實(shí)體關(guān)系 2618.3.3 實(shí)體Book的配置文件 2628.3.4 通用元數(shù)據(jù)定義文件(.cmd.xml) 2638.3.5 Author和Article的配置文件 2678.4 使用Compass來(lái)建立索引 2698.4.1 索引代碼 2698.4.2 對(duì)象關(guān)系圖和運(yùn)行結(jié)果 2718.5 使用Compass來(lái)搜索 2728.5.1 使用find()方法搜索 2728.5.2 CompassHits類型 2738.5.3 CompassHit類型 2748.5.4 使用Lucene語(yǔ)法來(lái)查找 2758.6 配置Analyzer和Optimizer 2768.7 小結(jié) 277第9章 Lucene分布式 2789.1 Lucene與分布式 2789.1.1 什么是GFS 2789.1.2 為L(zhǎng)ucene提供分布式的幾點(diǎn)設(shè)想 2799.2 小結(jié) 281第10章 無(wú)比強(qiáng)大的網(wǎng)絡(luò)爬蟲(chóng)Heritrix 28210.1 Heritrix的使用入門 28210.1.1 下載和運(yùn)行Heritrix 28210.1.2 在Eclipse里配置heritrix的開(kāi)發(fā)環(huán)境 28510.1.3 創(chuàng)建一個(gè)新的抓取任務(wù) 29010.1.4 設(shè)置抓取時(shí)的處理鏈 29210.1.5 設(shè)置運(yùn)行時(shí)的參數(shù) 29510.1.6 運(yùn)行抓取任務(wù) 29710.1.7 Heritrix的鏡像存儲(chǔ)結(jié)構(gòu) 30210.1.8 終止抓取或終止Heritrix的運(yùn)行 30310.2 Heritrix的架構(gòu) 30410.2.1 抓取任務(wù)CrawlOrder 30410.2.2 中央控制器CrawlController 30510.2.3 Frontier鏈接制造工廠 30810.2.4 用Berkeley DB實(shí)現(xiàn)的BdbFrontier 31310.2.5 Heritrix的多線程ToeThread和ToePool 31610.2.6 處理鏈和Processor 31910.3 擴(kuò)展和定制Heritrix 32210.3.1 向Heritrix中添加自己的Extractor 32310.3.2 定制Queue-assignment-policy兩個(gè)問(wèn)題 32710.3.3 定制Queue-assignment-policy繼承 QueueAssignmentPolicy類 32810.3.4 擴(kuò)展FrontierScheduler來(lái)抓取特定的內(nèi)容 32910.3.5 在Prefetcher中取消robots.txt的限制 33010.4 小結(jié) 331第11章 搜索引擎綜合實(shí)例:準(zhǔn)備篇 33211.1 數(shù)碼產(chǎn)品垂直搜索引擎實(shí)例簡(jiǎn)介 33211.1.1 垂直搜索引擎實(shí)現(xiàn)流程 33211.1.2 數(shù)碼垂直搜索引擎搜索功能 33311.1.3 信息來(lái)源網(wǎng)站的選擇方法 33311.1.4 太平洋電腦網(wǎng)和網(wǎng)易手機(jī)頻道 33411.2 準(zhǔn)備Eclipse的Web開(kāi)發(fā)環(huán)境 33511.2.1 準(zhǔn)備Eclipse的Web插件環(huán)境 33511.2.2 在Eclipse中配置插件 33611.3 準(zhǔn)備垂直搜索引擎工程 33711.3.1 建立搜索引擎Eclipse工程 33811.3.2 設(shè)置搜索引擎工程上下文信息 33911.3.3 設(shè)定源代碼存放和輸出路徑 34011.3.4 添加自定義的Java代碼 34111.3.5 添加工程中引用的Jar包 34311.3.6 創(chuàng)建工程JSP頁(yè)面文件 34511.3.7 構(gòu)造完成的工程整體結(jié)構(gòu) 34711.4 搜索引擎配置信息管理及相關(guān)類 34911.4.1 工程配置信息管理 34911.4.2 系統(tǒng)屬性配置文件 35011.4.3 配置文件管理封裝類 35011.5 小結(jié) 352第12章 搜索引擎綜合實(shí)例:下載篇 35312.1 數(shù)碼產(chǎn)品網(wǎng)絡(luò)爬蟲(chóng) 35312.1.1 垂直搜索引擎網(wǎng)絡(luò)爬蟲(chóng)設(shè)計(jì) 35312.1.2 來(lái)源網(wǎng)站內(nèi)容與鏈接分析 35412.2 數(shù)碼產(chǎn)品信息來(lái)源列表準(zhǔn)備 35612.2.1 太平洋電腦網(wǎng)待抓取內(nèi)容頁(yè)面分析 35612.2.2 太平洋電腦網(wǎng)帶抓取內(nèi)容代碼分析 35912.2.3 太平洋電腦網(wǎng)手機(jī)品牌清單分析 36212.3 Eclipse中定制數(shù)碼產(chǎn)品Heritrix爬蟲(chóng) 36712.3.1 數(shù)碼產(chǎn)品Heritrix爬蟲(chóng)的功能 36712.3.2 Eclipse中導(dǎo)入編譯Heritrix工程 36812.3.3 Eclipse中運(yùn)行Heritrix工程 37012.4 抓取pconline網(wǎng)頁(yè)的定制擴(kuò)展類 37112.4.1 抓取pconline網(wǎng)頁(yè)的Frontier擴(kuò)展 37112.4.2 執(zhí)行pconline手機(jī)網(wǎng)頁(yè)抓取任務(wù) 37312.5 抓取網(wǎng)易手機(jī)頻道的定制擴(kuò)展類 37512.5.1 網(wǎng)易手機(jī)頻道結(jié)構(gòu)分析 37512.5.2 設(shè)計(jì)網(wǎng)易抓取的Extractor擴(kuò)展 37812.5.3 設(shè)計(jì)網(wǎng)易抓取的Frontier擴(kuò)展 38112.5.4 執(zhí)行網(wǎng)易手機(jī)頻道網(wǎng)頁(yè)抓取任務(wù) 38212.6 小結(jié) 383第13章 使用正則表達(dá)式與HTML Parser分析網(wǎng)頁(yè) 38413.1 網(wǎng)頁(yè)內(nèi)容分析方法概述 38413.1.1 網(wǎng)頁(yè)HTML的基本知識(shí) 38413.1.2 JDK正則表達(dá)式簡(jiǎn)介 38513.1.3 HTMLParser開(kāi)源庫(kù)介紹 38713.2 正則表達(dá)式精確提取網(wǎng)頁(yè)內(nèi)容 38813.2.1 正則表達(dá)式j(luò)ava.util.regex使用 38813.2.2 正則表達(dá)式提取tom星座內(nèi)容實(shí)例 39013.2.3 正則表達(dá)式提取pconline手機(jī)品牌列表 39613.3 HTMLParser高效提取網(wǎng)頁(yè)內(nèi)容 39813.3.1 HTMLParser使用準(zhǔn)備 39813.3.2 Lexer模式功能及實(shí)現(xiàn) 39913.3.3 HTMLParser功能及實(shí)現(xiàn) 40413.3.4 HTMLParser解析星座網(wǎng)頁(yè)實(shí)例 41013.4 數(shù)碼產(chǎn)品網(wǎng)頁(yè)內(nèi)容解析系統(tǒng) 41313.4.1 產(chǎn)品詳細(xì)信息文件格式 41313.4.2 解析產(chǎn)品網(wǎng)頁(yè)信息的基類Extractor 41413.5 pconline手機(jī)產(chǎn)品網(wǎng)頁(yè)內(nèi)容解析 41813.5.1 pconline手機(jī)產(chǎn)品頁(yè)面Extractor解析器 41813.5.2 pconline產(chǎn)品信息解析測(cè)試函數(shù) 42113.5.3 pconline產(chǎn)品信息解析代碼執(zhí)行結(jié)果 42213.6 網(wǎng)易手機(jī)頻道產(chǎn)品內(nèi)容解析 42513.6.1 網(wǎng)易手機(jī)頻道產(chǎn)品信息的Extractor解析器 42513.6.2 網(wǎng)易手機(jī)頻道的產(chǎn)品信息運(yùn)行測(cè)試效果 42813.7 小結(jié) 429第14章 網(wǎng)頁(yè)內(nèi)容存儲(chǔ)與索引 43014.1 構(gòu)建產(chǎn)品檢索名稱信息詞庫(kù) 43014.1.1 產(chǎn)品名稱詞匯選擇 43014.1.2 產(chǎn)品名稱詞庫(kù)提取代碼 43114.1.3 產(chǎn)品名稱詞庫(kù)提取結(jié)果 43314.2 手機(jī)產(chǎn)品數(shù)據(jù)庫(kù)與文件索引結(jié)構(gòu) 43414.2.1 手機(jī)產(chǎn)品的存儲(chǔ)方法 43414.2.2 手機(jī)產(chǎn)品信息Product類 43514.2.3 產(chǎn)品信息數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu) 43714.2.4 產(chǎn)品信息Lucene索引結(jié)構(gòu) 43814.3 產(chǎn)品信息數(shù)據(jù)庫(kù)存儲(chǔ)與處理 43914.3.1 數(shù)據(jù)庫(kù)創(chuàng)建與準(zhǔn)備 43914.3.2 Java數(shù)據(jù)庫(kù)基本操作 44014.3.3 數(shù)碼產(chǎn)品數(shù)據(jù)庫(kù)記錄操作 44114.4 產(chǎn)品信息文件存儲(chǔ)與Lucene索引 44314.4.1 數(shù)碼產(chǎn)品Lucene索引操作設(shè)計(jì) 44314.4.2 數(shù)碼產(chǎn)品具體索引操作代碼 44514.5 產(chǎn)品信息綜合處理與運(yùn)行 44614.5.1 調(diào)用數(shù)據(jù)庫(kù)處理類和索引處理類 44614.5.2 數(shù)碼產(chǎn)品數(shù)據(jù)處理類運(yùn)行 45214.6 小結(jié) 454第15章 搜索引擎綜合實(shí)例:交互篇 45515.1 DWR的技術(shù)介紹 45515.1.1 Ajax與DWR簡(jiǎn)介 45515.1.2 Ajax與傳統(tǒng)模式搜索架構(gòu) 45615.2 DWR安裝與配置 45715.2.1 DWR的下載與安裝 45715.2.2 創(chuàng)建工程結(jié)構(gòu) 45815.2.3 配置web.xml內(nèi)容 46015.2.4 建立配置dwr.xml內(nèi)容 46115.3 DWR入門與實(shí)例演示 46115.3.1 簡(jiǎn)單Ajax頁(yè)面代碼 46115.3.2 運(yùn)行效果與對(duì)比 46415.3.3 DWR與直接使用XMLHttpRequest對(duì)象的比較 46815.3.4 在DWR中操縱自定義的對(duì)象 47015.3.5 查看DWR的輸出日志 47715.4 dwr.xml的配置進(jìn)階 47715.4.1 dwr.xml的標(biāo)準(zhǔn)結(jié)構(gòu) 47815.4.2 init標(biāo)簽與DWR自帶的converter和creator 47915.4.3 allow標(biāo)簽 48315.4.4 signature標(biāo)簽 48415.4.5 轉(zhuǎn)換器converter 48515.5 使用DWR工具庫(kù)util.js 48815.5.1 頁(yè)面中調(diào)用util.js 48915.5.2 使用useLoadingMessage()方法顯示提示圖標(biāo) 49015.5.3 DWRUtil.setValue()和DWRUtil.getValue() 49515.5.4 DWRUtil.getValues和DWRUtil.setValues 49815.5.5 DWRUtil.addOptions和DWRUtil.removeAll-Options 50315.5.6 DWRUtil.addRows和DWRUtil.removeAll-Rows 50815.5.7 DWRUtil.toDescriptive-String方法 51515.6 小結(jié) 516第16章 搜索引擎綜合實(shí)例:Web篇 51716.1 Web配置文件 51716.1.1 配置文件及其作用 51716.1.2 Spring配置文件 51816.1.3 DWR配置文件 51916.1.4 web.xml配置文件 52016.2 各種搜索相關(guān)Bean類 52116.2.1 產(chǎn)品SearchResult結(jié)果記錄類 52216.2.2 產(chǎn)品SearchResults結(jié)果集合類 52416.2.3 產(chǎn)品SearchRequest檢索請(qǐng)求類 52616.3 數(shù)據(jù)庫(kù)訪問(wèn)SearchResultDAO類實(shí)現(xiàn) 52716.3.1 數(shù)碼庫(kù)訪問(wèn)類接口定義 52716.3.2 數(shù)碼庫(kù)訪問(wèn)類實(shí)現(xiàn) 52816.4 Lucene索引檢索SearchService類實(shí)現(xiàn) 53016.4.1 索引檢索類接口定義 53016.4.2 索引檢索類實(shí)現(xiàn) 53116.5 前臺(tái)Web頁(yè)面設(shè)計(jì) 53616.5.1 數(shù)碼垂直搜索主頁(yè)面main.jsp 53616.5.2 數(shù)碼搜索手機(jī)產(chǎn)品圖片的顯示 54216.5.3 手機(jī)產(chǎn)品詳細(xì)信息頁(yè)面detail.jsp 54316.6 實(shí)例中的問(wèn)題與功能擴(kuò)展 54616.7 小結(jié) 548附錄 Lucene 2.4更新內(nèi)容 549F1 IndexWriter的構(gòu)造函數(shù) 549F2 IndexWriter的init方法 550F3 IndexWriter中的flush、commit和close 552F4 Lucene 2.4中的Segment 553F5 IndexCommit和IndexDeletion-Policy 555F6 IndexWriter中的add-Document 558F7 DocumentsWriter類的add-Document方法 559F8 DocumentsWriter的索引鏈 562

編輯推薦

  銷書(shū)升級(jí),原書(shū)是國(guó)內(nèi)第一本講解搜索引擎開(kāi)發(fā)的暢銷書(shū)  超值,提供了價(jià)值上萬(wàn)元的大型數(shù)碼產(chǎn)品搜索引擎開(kāi)發(fā)案鍘,可直接應(yīng)用于項(xiàng)目  版本最新,采用了最新的Heritrix-1.140版、HTMLParser1.6.0版、DWR2.0.5版  實(shí)踐性強(qiáng),用案例的方式講解,便于讀者實(shí)踐  注重原理講解,提供了結(jié)構(gòu)框圖和流程圖,講解搜索引擎的原理  《開(kāi)發(fā)自己的搜索引擎:Lucene+Heritrix(第2版)》在第1版的基礎(chǔ)上做了以下改變:  重新組織了實(shí)例中開(kāi)發(fā)前期的準(zhǔn)備內(nèi)容,涉及信息來(lái)源準(zhǔn)備、基本開(kāi)發(fā)環(huán)境準(zhǔn)備、工程總體框架和配置信息管理等?! ∩?jí)了內(nèi)核代碼版本,使用Heritrix-1.14.0版本,并增加了網(wǎng)絡(luò)爬蟲(chóng)Heritrix代碼工程導(dǎo)人和配置的詳細(xì)步驟。  升級(jí)了實(shí)例代碼,解決了因來(lái)源網(wǎng)站內(nèi)容變更而導(dǎo)致的部分代碼無(wú)法執(zhí)行的問(wèn)題?! ≡黾恿藢?duì)網(wǎng)頁(yè)內(nèi)容分析的概述和基本說(shuō)明,便于讀者理解相關(guān)代碼和內(nèi)容?! TMLParser升級(jí)到1.6.0版本。為了適應(yīng)網(wǎng)站代碼的修改,變動(dòng)了其中的正則分析代碼和網(wǎng)頁(yè)解析代碼?! 「铝藢?shí)例中與文檔組織和存儲(chǔ)相關(guān)的內(nèi)容,并根據(jù)所分析網(wǎng)站頁(yè)面內(nèi)容的變化,升級(jí)了其中的部分代碼。  升級(jí)交互篇和用戶Web界面中的核心代碼為DWR2.0.5版本,并針對(duì)目前的主流技術(shù),對(duì)搜索引擎交互方式進(jìn)行分析和介紹,還增加了代碼的部分圖例說(shuō)明。

圖書(shū)封面

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

無(wú)

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


    開(kāi)發(fā)自己的搜索引擎 PDF格式下載


用戶評(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