開發自己的搜索引擎--Lucene 2.0+Heriterx

開發自己的搜索引擎--Lucene 2.0+Heriterx pdf epub mobi txt 電子書 下載2025

出版者:人民郵電齣版社
作者:邱哲
出品人:
頁數:521 页
译者:
出版時間:2007年6月1日
價格:65.00元
裝幀:平裝
isbn號碼:9787115160003
叢書系列:
圖書標籤:
  • 搜索引擎
  • Lucene
  • Heritrix
  • 開發自己的搜索引擎——Lucene
  • SearchEngine
  • 搜索
  • search
  • 收索引擎
  • Lucene
  • 搜索引擎
  • 開發
  • 中文
  • 分布式
  • 全文檢索
  • Heriterx
  • 索引
  • 查詢
  • 高性能
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

《開發自己的搜索引擎:Lucene 2.0+Heritrix》參加人郵社買書送禮活動,數量有限趕快搶購!詳情請點擊

  第一本講解如何使用Lucene和Heritrix來構建搜索引擎的書

  一步一步帶領您親手構建企業級搜索引擎網站

  國內資深搜索引擎開發專傢車東推薦

  配有一個完整的搜索引擎案例。這個案例有很強的實用價值,隻需稍加修改,就能應用於實際項目,市場價值在30000元以上!

  Google技術經理車東推薦

  國內第一本詳細介紹搜索引擎開發過程的圖書

  采用最新的Lucene 2.0

  互聯網搜索的使用水平可以反映全民的信息處理能力,幾年前有研究發現美國用戶比歐洲用戶的互聯網使用水平領先半年左右,主要是根據誰搜索時平均使用的關鍵詞的個數多。中文用戶的搜索使用水平相對於西文用戶目前仍然處於比較初級的階段,而中文網站搜索功能的缺失也是一個重要的因素。

網站擁有瞭較多內容後,最先會考慮基於目錄的內容分類,以解決信息快速定位的問題,隨著內容量的進一步增加,很多內容在發錶之後就很快被湮沒,成為“信息孤島”,而不斷加深的目錄結構也會讓用戶逐漸失去耐心,這時,關鍵詞檢索的優勢就體現齣來瞭:

關鍵詞檢索可以讓處於“信息孤島”狀態的內容以一種更直接的方法提供給用戶;

和基於目錄/分類的樹形結構不同,基於關鍵詞檢索還可以讓內容之間實現網狀的關聯結構,從而大大提高信息的引用密度。

基於傳統數據庫的關鍵詞檢索由於性能問題讓很多網站放棄瞭搜索功能,問題的解決歸根結底還是需要一個全文引擎。而Lucene開源引擎的齣現讓這種原來被少數公司掌握的技術得到瞭迅速的普及,這裏應該再次感謝引擎的核心貢獻者Doug Cutting先生,同時也希望有更多的中文開發人員能積極投入到Lucene的相關項目開發中去,尤其在中文和其他亞洲雙字節語言處理方麵的問題。

Lucene也是我學習的第一個Java程序,當初是通過jdb一行行dubug瞭解其中的原理和機製的,非常高興有這樣一本專門的參考書齣現,它無疑會為開發人員瞭解並更快掌握全文檢索技術節省大量的時間。

國內資深搜索引擎開發專傢 車東

  《開發自己的搜索引擎:Lucene 2.0+Heritrix》詳細介紹瞭如何應用Lucene進行搜索引擎開發,通過學習《開發自己的搜索引擎:Lucene 2.0+Heritrix》,讀者可以完成構建一個企業級的搜索引擎網站。

  《開發自己的搜索引擎:Lucene 2.0+Heritrix》是國內第一本使用Lucene和Heritrix來講解搜索引擎構建的書,通過詳細的對API和源代碼的分析,力求使讀者在應用的基礎上,能夠深入其核心,自行擴展和開發相應組件,發揮想象力,開發齣更具有創意的搜索引擎産品。《開發自己的搜索引擎:Lucene 2.0+Heritrix》適閤Java程序員和從事計算機軟件開發的其他編程人員閱讀,同時也可以作為搜索引擎愛好者的入門書籍。

  由於目前市麵上從技術層麵介紹搜索引擎的書並不多,即使有,也大多停留在理論階段,而非搜索引擎的開發過程。因此,可以說《開發自己的搜索引擎:Lucene 2.0+Heritrix》是國內第一本詳細介紹搜索引擎開發過程的圖書。

  (1)采用最新的Lucene 2.0。以前大傢用的1.4.3版本,而最新的Lucene 2.0重寫瞭很多API,內部的實現方法也有瞭很大優化。《開發自己的搜索引擎:Lucene 2.0+Heritrix》的代碼都是在2.0版本下調試通過的,這樣可以幫助讀者瞭解Lucene的更多新功能。

  (2)配有一個完整的搜索引擎案例。這個案例有很強的實用價值,隻需稍加修改,就能應用於實際項目,市場價值在30000元以上!

  (3)著重解決開發人員頭痛的問題。《開發自己的搜索引擎:Lucene 2.0+Heritrix》的目的是指導項目實踐,因此沒有羅列各個API的用法,而是對常見的開發問題進行深入探討,比如《開發自己的搜索引擎:Lucene 2.0+Heritrix》的第7章,是專門為解決“Word,Excel和PDF文件如何解析”這個問題而設置的。

  (4)內容新穎,前衛實用。《開發自己的搜索引擎:Lucene 2.0+Heritrix》介紹瞭Compass、Heritrix、DWR和HTMLParser等內容。在搜索引擎開發的過程中,這些均為相當重要且實用的技術,筆者經過自身實踐將它們展現給讀者,希望能讓讀者在學習Lucene的同時開拓視野。

著者簡介

圖書目錄

第一篇 搜索引擎入門
第1章 搜索引擎與信息檢索基礎
1.1 搜索引擎的曆史
1.1.1 萌芽:Archie、Gopher
1.1.2 起步:Robot(網絡機器人)的齣現與Spider(網絡爬蟲)
1.1.3 發展:Excite、Galaxy、Yahoo等
1.1.4 繁榮:Infoseek、AltaVista、Google和Baidu
1.2 信息檢索係統的基本知識
1.2.1 什麼是信息檢索係統
1.2.2 信息檢索的過程
1.2.3 傳統查找的優點和不足
1.2.4 使用索引提高檢索速度
1.2.5 倒排索引
1.2.6 評價信息檢索係統的標準
1.3 Lucene簡介
1.4 小結
第二篇 Lucene開發詳解
第2章 Lucene入門實例
2.1 實例介紹
2.1.1 實例說明
2.1.2 開發過程
2.2 準備工作
2.2.1 將文檔的全角標點轉換成半角標點
2.2.2 將大文檔切分成多個小文檔
2.2.3 預處理源文件的統一接口
2.3 創建Eclipse工程
2.3.1 準備工作
2.3.2 創建工程並引入Lucene的JAR包
2.3.3 運行文檔預處理類
2.3.4 創建處理文檔的索引類:IndexProcessor
2.3.5 創建檢索索引的搜索類
2.4 運行效果
2.5 小結
第3章 Lucene索引的建立
3.1 Document邏輯文件
3.1.1 Lucene的Document
3.1.2 為Document添加多種Field
3.1.3 Document的內部實現
3.2 Field的內部實現
3.2.1 Field包含的類
3.2.2 Field類的構造方法
3.3 Lucene的索引工具IndexWriter
3.3.1 IndexWriter的初始化
3.3.2 嚮索引添加文檔
3.3.3 限製每個Field中的詞條的數量
3.4 Lucene索引過程詳解
3.4.1 Lucene索引建立過程概述
3.4.2 使用addDocument方法嚮索引添加文檔
3.4.3 DocumentWriter的addDocument方法
3.4.4 文檔的倒排
3.4.5 對postingTable進行排序
3.4.6 將Posting信息寫入索引
3.5 索引文件格式
3.5.1 索引的segment
3.5.2 .fnm格式
3.5.3 .fdx與.fdt格式
3.5.4 .tii與.tis格式
3.5.5 deletable格式
3.5.6 復閤索引格式.cfs
3.6 索引過程的優化
3.6.1 閤並因子mergeFactor
3.6.2 maxMergeDocs
3.6.3 minMergeDocs
3.7 索引的閤並與索引的優化
3.7.1 FSDirectory與RAMDirectory
3.7.2 使用IndexWriter來閤並索引
3.7.3 索引的優化
3.8 從索引中刪除文檔  3.8.1 索引的讀取工具IndexReader
3.8.2 使用文檔ID號來刪除特定文檔
3.8.3 使用Field信息來刪除批量文檔
3.9 Lucene的同步問題
3.9.1 為什麼要進行同步以及Lucene的同步法則
3.9.2 commit.lock與write.lock
3.10 Lucene 2.0的新類:IndexModifier類
3.11 小結
第4章 Lucene的搜索
4.1 使用IndexSearcher進行搜索
4.1.1 初始化IndexSearcher
4.1.2 IndexSearcher最簡單的使用
4.1.3 IndexSearcher的多種search方法
4.2 Hits類詳解
4.2.1 Hits類的公有接口
4.2.2 效率分析
4.2.3 Hits內部的緩存
4.2.4 Hits類的工作原理
4.3 對搜索結果的評分
4.3.1 文檔與詞條的嚮量空間
4.3.2 Lucene的文檔得分算法
4.4 構建各種Lucene內建的Query對象
4.4.1 toString查看原子查詢
4.4.2 查詢重寫與權重
4.4.3 TermQuery詞條搜索
4.4.4 BooleanQuery布爾搜索
4.4.5 RangeQuery範圍搜索
4.4.6 PrefixQuery前綴搜索
4.4.7 PhraseQuery短語搜索
4.4.8 MultiPhraseQuery多短語搜索
4.4.9 FuzzyQuery模糊搜索
4.4.10 WildcardQuery通配符搜索
4.4.11 SpanQuery跨度搜索
4.5 第三方提供的Query對象:RegexQuery
4.6 通過QueryParser轉換用戶關鍵字  4.6.1 詞條的定義
4.6.2 QueryParser初始化
4.6.3 改變QueryParser默認的布爾邏輯
4.6.4 短語和QueryParser
4.6.5 FuzzyQuery和QueryParser
4.6.6 通配符與QueryParser
4.6.7 查找指定的Field
4.6.8 RangeQuery與QueryParser
4.6.9 QueryParser和SpanQuery
4.7 多Field搜索與多索引搜索
4.7.1 多域搜索MultiFieldQueryParser
4.7.2 MultiSearcher在多個索引上搜索
4.7.3 ParalellMultiSearcher:多綫程搜索
4.7.4 Searchable和RMI
4.8 小結
第5章 排序、過濾和分頁
5.1 相關度排序
5.1.1 使用Score進行自然排序
5.1.2 Searcher的explain方法
5.1.3 通過改變boost值來改變文檔的得分
5.2 使用Sort來排序
5.2.1 Sort簡介
5.2.2 SortField
5.2.3 按文檔得分進行排序
5.2.4 按文檔的內部ID號來排序
5.2.5 按一個或多個Field來排序
5.2.6 改變SortField中的Locale信息
5.3 搜索的過濾器
5.3.1 過濾器的基本結構
5.3.2 一個簡單的Filter:建立索引
5.3.3 一個簡單的Filter:打印索引文檔信息
5.3.4 一個簡單的Filter:安全級彆與過濾器代碼
5.3.5 一個簡單的Filter:在搜索時應用過濾器
5.3.6 一個簡單的Filter:總結
5.3.7 按範圍過濾RangeFilter
5.3.8 在結果中查詢QueryFilter
5.3.9 緩存結果:CachingWrapperFilter
5.4 翻頁問題
5.4.1 依賴於session的翻頁
5.4.2 多次查詢
5.4.3 緩存+多次查詢
5.4.4 緩存+多次查詢+數據庫
5.5 小結
第6章 Lucene的分析器
6.1 分析
6.1.1 分詞
6.1.2 Lucene的分析器的結構
6.1.3 Lucene的分析器的實現
6.2 Lucene與JavaCC
6.2.1 JavaCC簡介
6.2.2 JavaCC為Lucene提供的分析器腳本
6.2.3 Lucene的標準分析器
6.2.4 標準過濾器:StandardFilter
6.2.5 大小寫轉換器:LowerCaseFilter
6.2.6 忽略詞過濾器:StopFilter
6.3 分析器的進階
6.3.1 再看StandardAnalyzer中的管道過濾器結構
6.3.2 長度過濾器:LengthFilter
6.3.3 PerFieldAnalyzerWrapper
6.3.4 其他
6.4 對中文的分析
6.4.1 現有的中文分詞方式簡介
6.4.2 中科院的分詞軟件和JE分詞
6.5 小結
第三篇 Lucene相關話題
第7章 對Word、Excel 和PDF的處理
7.1 使用PDFBox處理PDF文檔
7.1.1 PDFBox的下載
7.1.2 在Eclipse中配置
7.1.3 使用PDFBox解析PDF內容
7.1.4 運行效果
7.1.5 與Lucene的集成
7.2 使用xpdf來處理中文PDF文檔
7.2.1 xpdf的下載
7.2.2 配置
7.2.3 提取中文
7.2.4 運行效果
7.3 使用POI來處理Excel和Word文件格式
7.3.1 對Excel的處理類
7.3.2 ExcelReader的運行效果
7.3.3 POI中Excel文件Cell的類型
7.3.4 對Word的處理類
7.4 使用Jacob來處理Word文檔
7.4.1 Jacob的下載
7.4.2 在Eclipse中配置
7.5 小結
第8章 Compass:封裝瞭Lucene的框架
8.1 Compass簡介
8.1.1 Compass的下載
8.1.2 Compass的代碼片斷
8.2 Compass的初始配置
8.2.1 Compass的配置文件
8.2.2 將索引存放於內存中
8.2.3 使用JDBC來存儲索引
8.2.4 使用連接池來存儲索引
8.2.5 加載compass.cfg.xml文件
8.3 域模型的配置
8.3.1 實體代碼
8.3.2 實體關係
8.3.3 實體Book的配置文件
8.3.4 通用元數據定義文件(.cmd.xml)
8.3.5 Author和Article的配置文件
8.4 使用Compass來建立索引
8.4.1 索引代碼
8.4.2 對象關係圖和運行結果
8.5 使用Compass來搜索
8.5.1 使用find()方法搜索
8.5.2 CompassHits類型
8.5.3 CompassHit類型
8.5.4 使用Lucene語法來查找
8.6 配置Analyzer和Optimizer
8.7 小結
第9章 Lucene分布式和Google Search API
9.1 Lucene與分布式
9.1.1 什麼是GFS
9.1.2 為Lucene提供分布式的幾點設想
9.2 Google的Search API
9.2.1 搭建環境
9.2.2 構建搜索類
9.2.3 設置查詢時的參數和查詢語法
9.2.4 運行測試
9.3 小結
第四篇 網絡爬蟲Heritrix
第10章 無比強大的網絡爬蟲Heritrix
10.1 Heritrix使用入門
10.1.1 下載和運行Heritrix
10.1.2 在Eclipse裏配置Heritrix的開發環境
10.1.3 創建一個新的抓取任務
10.1.4 設置抓取時的處理鏈
10.1.5 設置運行時的參數
10.1.6 運行抓取任務
10.1.7 Heritrix的鏡像存儲結構
10.1.8 終止抓取或終止Heritrix的運行
10.2 Heritrix的架構
10.2.1 抓取任務CrawlOrder
10.2.2 中央控製器CrawlController
10.2.3 Frontier鏈接製造工廠
10.2.4 用Berkeley DB實現的BdbFrontier
10.2.5 Heritrix的多綫程ToeThread和ToePool
10.2.6 處理鏈和Processor
10.3 擴展和定製Heritrix
10.3.1 嚮Heritrix中添加自己的Extractor
10.3.2 定製Queue-assignment-policy的兩個問題
10.3.3 定製Queue-assignment-policy繼承QueueAssignmentPolicy類
10.3.4 擴展FrontierScheduler來抓取特定的內容
10.3.5 在Prefetcher中取消robots.txt的限製
10.4 小結
第五篇 構建垂直搜索引擎
第11章 搜索引擎綜閤實例:準備篇
11.1 實例簡介以及實現途徑
11.1.1 選擇網站
11.1.2 太平洋電腦網和網易手機頻道
11.1.3 分析網站內容並準備抓取清單
11.1.4 從下拉列錶獲得手機品牌首頁
11.1.5 解析手機品牌頁麵
11.2 在Heritrix中為pconline開發抓取所需的定製類
11.2.1 保存所有産品的頁麵和圖片
11.2.2 不保存其他無關頁麵
11.2.3 開始抓取
11.3 在Heritrix中為網易手機頻道開發抓取所需的定製類
11.3.1 分析網易手機頻道
11.3.2 設計抓取代碼
11.4 在Eclipse中創建工程結構
11.4.1 下載插件
11.4.2 在Eclipse中配置插件
11.4.3 創建工程
11.4.4 設置工程的Context
11.4.5 設定源代碼存放和輸齣路徑
11.4.6 添加Java代碼
11.4.7 添加Jar包
11.4.8 創建JSP文件
11.4.9 工程整體結構一覽
11.5 設定配置文件及其相關類
11.5.1 係統屬性配置文件
11.5.2 封裝配置文件
11.6 産品詳細信息文件格式
11.7 解析網頁信息的基類Extractor
11.8 太平洋電腦網手機産品頁麵Extractor
11.9 pconline産品信息運行效果測試
11.9.1 編寫測試函數
11.9.2 執行測試
11.10 網易手機頻道的産品信息運行效果
11.11 構建産品信息詞庫
11.12 數據庫與索引結構
11.12.1 定義Product類
11.12.2 確定數據庫與索引的結構
11.13 數據庫處理和索引處理
11.13.1 對數據庫進行操作
11.13.2 對索引進行操作
11.14 調用數據庫處理類和索引處理類
11.15 運行
11.16 小結
第12章 使用正則錶達式與HTMLParser提取網頁內容
12.1 HTML的基本知識
12.2 JDK中的正則錶達式提取網頁內容
12.2.1 java.util.regex包
12.2.2 正則錶達式提取網頁內容實例
12.3 HTMLParser提取網頁內容
12.3.1 HTMLParser的下載
12.3.2 HTMLParser概述
12.3.3 Lexer的功能及實現
12.3.4 HTMLParser的功能及實現
12.3.5 HTMLParser實例
12.4 小結
第13章 搜索引擎綜閤實例:DWR
13.1 DWR的下載
13.2 DWR入門與實例演示
13.2.1 創建工程結構
13.2.2 在web.xml中配置DWR
13.2.3 配置dwr.xml
13.2.4 頁麵代碼
13.2.5 運行效果
13.2.6 DWR與直接使用XMLHttpRequest對象的比較
13.2.7 在DWR中操縱自定義的對象
13.2.8 查看DWR的輸齣日誌
13.3 dwr.xml的配置
13.3.1 dwr.xml的標準結構
13.3.2 標簽與DWR自帶的converter和creator
13.3.3 標簽
13.3.4 標簽
13.3.5 另一個例子
13.4 util.js
13.4.1 調用util.js
13.4.2 使用useLoadingMessage方法顯示提示圖標
13.4.3 DWRUtil.setValue和DWRUtil.getValue
13.4.4 DWRUtil.getValues和DWRUtil.setValues
13.4.5 DWRUtil.addOptions和DWRUtil.removeAllOptions
13.4.6 DWRUtil.addRows和DWRUtil.removeAllRows
13.4.7 DWRUtil.toDescriptiveString方法
13.5 小結
第14章 搜索引擎綜閤實例:Web篇
14.1 配置文件
14.1.1 Spring配置文件
14.1.2 DWR配置文件
14.1.3 web.xml
14.2 各種Bean類
14.2.1 SearchResult
14.2.2 SearchResults
14.2.3 SearchRequest
14.3 SearchService的實現
14.4 SearchResultDao
14.5 前颱部分
14.5.1 搜索主頁麵main.jsp
14.5.2 圖片的顯示
14.5.3 詳細信息頁麵detail.jsp
14.6 問題
14.7 小結
· · · · · · (收起)

讀後感

評分

在进大学前就看到过这本书,当时虽然不懂多少代码,但是它坚定了我进计算机系的选择。 大三的时候要用Lucene而真正开始用这本书,感觉就像是老朋友一样,十分迅速的学会了Lucene。它不但教怎么用Lucene,还会教其原理,例如一个细节:Lecene的TF是要开根号的。这个细节使得我的...  

評分

这本书还是不错的,通过一个丰富的例子,把Lucene,Heritrix,HTMLParser几种技术结合起来。让人可以通过这本书举一反三,做出类似的项目。

評分

在进大学前就看到过这本书,当时虽然不懂多少代码,但是它坚定了我进计算机系的选择。 大三的时候要用Lucene而真正开始用这本书,感觉就像是老朋友一样,十分迅速的学会了Lucene。它不但教怎么用Lucene,还会教其原理,例如一个细节:Lecene的TF是要开根号的。这个细节使得我的...  

評分

我基本上看过了这本书,其中代码部分讲解比较详细,但是第八章不太详细! 另:我买这本书的时候,缺了几页现在无法更换,如有读者也在读这本书,真心请求给予帮助,我少的页码是400,401,404,405,412,413!如能给给予提供,万分感谢。 email: feiniao0401@yahoo.com.cn QQ:...  

評分

或者是因为期望比较高,所以失望比较大。 这本书对Lucene和Heritrix,HTMLParser等等开源工具做了一些介绍,并不怎么深入。 而且实际没有完整地给出一个搜索引擎的框架。虽然有一个可以进行搜索的例子,但是离一个可用的搜索引擎还是比较远的。 例如我想一个搜索引擎最少内部...  

用戶評價

评分

一般吧,沒想像中那麼好

评分

一般

评分

國人的書都一個熊樣兒……催眠教科書

评分

當年從圖書館藉過前後兩個版本。

评分

國人的書都一個熊樣兒……催眠教科書

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有