貫串Elasticsearch & Lucene輕鬆開發高強全文檢索搜尋引擎 | 誠品線上

貫串Elasticsearch & Lucene輕鬆開發高強全文檢索搜尋引擎

作者 姚攀
出版社 佳魁資訊股份有限公司
商品描述 貫串Elasticsearch & Lucene輕鬆開發高強全文檢索搜尋引擎:大資料時代的資訊檢索技術騰訊、阿里巴巴、百度、東京等一線互聯網公司正大力推進Elasticsearch的使用場景,本

內容簡介

內容簡介 大資料時代的資訊檢索技術騰訊、阿里巴巴、百度、東京等一線互聯網公司正大力推進Elasticsearch的使用場景,本書以豐富的實例介紹Elasticsearch,可幫助讀者快速應用Lucene庫處理全文檢索業務,掌握使用Elasticsearch搭建分散式搜尋引擎的方法與技巧。本書為入門Lucene、Elasticsearch首先介紹資訊檢索領域中一些基本理論,也就是Lucene的數學模型,之後介紹如何使用Lucene 函數庫建置全文檢索系統,最後介紹Elasticsearch。按照從數學模型到入門基礎再到專案實戰的想法來撰寫,數學模型讓讀者知其然也知其所以然,入門基礎是理論到實際應用的必經之路,專案實戰則是為了學以致用。書中的每一部分都力圖簡明扼要,使用大量實例和程式,為讀者能夠快速掌握全文檢索技術掃除障礙。適用:學生、Java 程式開發者、搜尋引擎研發人員

作者介紹

作者介紹 姚攀姚攀中國科學院大學碩士,擅長j2ee開發,對搜索引擎技術有濃厚的興趣和較深入研究,有豐富的Lucene和ElasticSearch開發經歷和項目經驗,活躍於CSDN社區,目前在一家公司做ES搜索業務開發。

產品目錄

產品目錄 前言CHAPTER 01 資訊檢索模型1.1 資訊檢索概述1.2 斷詞演算法1.3 倒排索引1.4 布林檢索模型1.5 tf-idf 加權計算1.6 向量空間模型1.7 機率檢索模型1.8 本章小結CHAPTER 02 Lucene開發入門2.1 Lucene概述2.2 Lucene開發準備2.3 Lucene斷詞詳解2.4 Lucene索引詳解2.5 Lucene查詢詳解2.6 Lucene查詢反白2.7 Lucene新聞高頻詞分析2.8 本章小結CHAPTER 03 Lucene檔案檢索專案實戰3.1 需求分析3.2 架構設計3.3 文字內容取出3.4 專案架設3.5 索引文件3.6 查詢介面3.7 檔案檢索3.8 結果展示3.9 本章小結CHAPTER 04 從Lucene到Elasticsearch4.1 Elasticsearch概述4.2 安裝Elasticsearch4.3 中文斷詞器設定4.4 Head外掛程式使用指南4.5 REST指令4.6 本章小結CHAPTER 05 Elasticsearch叢集入門5.1 索引管理5.2 文件管理5.3 對映詳解5.4 本章小結CHAPTER 06 Elasticsearch搜索詳解6.1 搜索機制6.2 全文查詢6.3 詞項查詢6.4 複合查詢6.5 巢狀結構查詢6.6 位置查詢6.7 特殊查詢6.8 搜索反白6.9 搜索排序6.10 本章小結CHAPTER 07 聚合分析7.1 指標聚合7.2 桶聚合7.3 本章小結CHAPTER 08 Elasticsearch Java API8.1 Java API簡介8.2 Maven依賴8.3 依賴衝突8.4 連接到叢集8.5 索引管理8.6 文件管理8.7 搜索詳解8.8 聚合分析8.9 叢集管理8.10 本章小結CHAPTER 09 叢集管理9.1 叢集規劃9.2 索引規劃9.3 分散式叢集9.4 Cat API9.5 Cluster API9.6 監控外掛程式9.7 本章小結CHAPTER 10 新聞搜索專案實戰10.1 需求分析10.2 資料準備10.3 資料匯入10.4 查詢介面10.5 搜索新聞10.6 結果展示10.7 本章小結CHAPTER 11 Elasticsearch For Hadoop11.1 Hadoop基礎11.2 ES-Hadoop安裝11.3 從HDFS到Elasticsearch11.4 從Elasticsearch到HDFS11.5 本章小結CHAPTER A 參考文獻

商品規格

書名 / 貫串Elasticsearch & Lucene輕鬆開發高強全文檢索搜尋引擎
作者 / 姚攀
簡介 / 貫串Elasticsearch & Lucene輕鬆開發高強全文檢索搜尋引擎:大資料時代的資訊檢索技術騰訊、阿里巴巴、百度、東京等一線互聯網公司正大力推進Elasticsearch的使用場景,本
出版社 / 佳魁資訊股份有限公司
ISBN13 / 9789863797807
ISBN10 / 9863797804
EAN / 9789863797807
誠品26碼 / 2681815525001
頁數 / 424
開數 / 18K
注音版 /
裝訂 / P:平裝
語言 / 1:中文 繁體
尺寸 / 17X23X1.9CM
級別 / N:無

最佳賣點

最佳賣點 : 分散式搜尋分析系統/Java資訊檢索函式庫/高擴充性與可用性/強效資料處理

試閱文字

自序 : 前言
我們正處在一個大數據時代,大數據並不僅是指巨量資料,而更多的是指這些資料都是非結構化的、無法用傳統的方法進行處理的資料。相信很多人聽說過目前在雲端運算和大數據領域裡如日中天的Hadoop,Hadoop的發起人之一是大名鼎鼎的Doug Cutting。早在Hadoop誕生之前,Doug Cutting已經用Java實現了第一個提供全文文字搜索的開放原始碼函數程式庫Lucene。
Lucene自2000年發佈第一個開放原始碼版本以來,在開放原始碼社區引起了很大的迴響,為廣大開發者提供了研發全文檢索系統的利器。Lucene作為Apache的頂級專案,有大量研發人員貢獻原始程式,經過十幾年的發展,目前Lucene已經十分成熟,可以說Lucene是當今最先進、最高效的全功能開放原始碼搜尋引擎工具套件。但Lucene只是一個全文檢索類別庫,Elasticsearch是一個建立在Lucene基礎上的即時的分散式搜尋引擎,2010年由Shay Bano發佈。相比於Lucene,Elasticsearch功能更加強大,使用更加方便。
站在巨人的肩膀上,入門搜索技術並不困難,本書為入門Lucene、Elasticsearch而生。首先介紹資訊檢索領域中一些基本理論,也就是Lucene的數學模型,之後介紹如何使用Lucene函數庫建置全文檢索系統,最後介紹Elasticsearch。本書按照從數學模型到入門基礎再到專案實戰的想法來撰寫,數學模型讓讀者知其然也知其所以然,入門基礎是理論到實際應用的必經之路,專案實戰則是為了學以致用。書中的每一部分都力圖簡明扼要,使用大量實例和程式,為讀者能夠快速掌握全文檢索技術掃除障礙。將全文檢索領域中的一些知識和專案經驗分享給大家,是筆者寫作本書的初衷。


✤ 本書結構
本書從邏輯上可劃分為三部分。
第一部分(第1章)
主要介紹資訊超載、資訊檢索、倒排索引、布林模型、tf-idf、向量空間模型、機率檢索模型等資訊檢索領域的基礎知識。

第二部分(第2和3章)
介紹如何使用Lucene 開發全文檢索系統。
■ 第2章主要介紹Lucene的基礎知識,內容包含Lucene的特點、Lucene架構、Luke的使用、IK分詞器設定、擴充詞函數庫和遠端詞函數庫的設定、Lucene的多種分詞器、索引的建置方法、檢索文件以及實現檢索關鍵字反白的方法。
■ 第3章是Lucene專案實戰部分,介紹如何使用Lucene建置一個檔案檢索系統,內容包含專案的整體設計、使用Tika做資訊取出、索引的建置、使用者查詢介面的設計與實現、使用者查詢處理、搜索結果展示等內容。

第三部分(第4~11章)
主要介紹Elasticsearch分散式搜尋引擎的相關技術。
■ 第4章是Elasticsearch簡介,內容包含Elasticsearch與Lucene的關係、Elasticsearch的整體架構、核心概念、在企業中的應用案例、流行度趨勢、Elasticsearch的安裝、中文分詞設定以及相關外掛程式的安裝與使用。
■ 第5章是Elasticsearch叢集入門,主要內容包含索引管理、文件管理和對映詳解。
■ 第6章介紹Elasticsearch的搜索功能,主要內容包含搜索機制的解讀、全文查詢、詞項查詢、複合查詢、巢狀結構查詢、位置查詢、特殊查詢、搜索反白和排序。
■ 第7章介紹Elasticsearch的聚合分析功能。
■ 第8章介紹如何使用Elasticsearch Java API做延伸開發。
■ 第9章介紹Elasticsearch叢集管理的相關基礎知識,包含腦分裂問題、叢集規劃、索引規劃、分散式叢集的架設方法以及如何檢視叢集的監控資訊。
■ 第10章是Elasticsearch整合MySQL專案實戰部分,透過實現對MySQL中的資料進行全文檢索這一需求,貫穿了MySQL、JDBC、Elasticsearch Java API以及Java Web的相關知識,讓讀者了解在實際的專案開發中使用Elasticsearch做全文檢索搜尋的方法。
■ 第11章介紹Elasticsearch和Hadoop大數據平台互動的方法。


✤ 學習本書的預備知識
Java 基礎
首先要設定好Java開發環境。不論是學習Lucene還是Elasticsearch都需要安裝好Java環境,Elasticsearch的執行要求JDK版本最低為1.7,建議使用JDK 1.8及以上版本。鑑於Java的跨平台特性,對作業系統沒有要求,在Windows、Linux、Mac OS X系統上都可以執行Elasticsearch。除此之外,讀者需要掌握Java 基礎知識。

Java Web 開發技術
在專案實戰中需要用到Java Web的相關技術,建議讀者在閱讀本書之前掌握HTML、CSS、JSP等基礎知識,掌握Java Web 專案的部署和執行。


✤ 本書使用的軟體版本
本書基於Lucene 6.0和Elasticsearch 5.4.0說明,整合式開發環境為Eclipse 4.6.1。


✤ 適合讀者群
在校學生
如果你是正在修讀電腦資訊相關科系的大學生,也許你正在選修程式語言,課程結束發現自己只能寫出命令列下黑螢幕顯示的小程式,你也許很期待學到更多的技術做出實際的專案,那麼本書就是為你準備的。書中的專案使用的是Java語言,除了Lucene和Elasticsearch的使用之外,還穿插了Java SE、Java
Web的相關技術。

Java程式開發者
如果你已是Java程式開發者,想要掌握全文檢索相關技術卻不知道從哪裡入手,需要處理企業中的全文檢索業務卻沒有想法,你也許聽說過Lucene或Elasticsearch,但是不知道怎樣快速入門,本書可以作為入門全文檢索、學習Lucene和Elasticsearch開發技術的參考書。

搜尋引擎研發人員
如果你是搜尋引擎開發者,本書中的實際案例和相關基礎知識可以作為參考資料,例如資訊檢索模型理論基礎、文件資訊取出、Lucene應用案例、Elasticsearch Java API、Elasticsearch叢集管理等。希望能以本書為媒介和大家共同探討和交流。