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

貫串Elasticsearch & Lucene:輕鬆開發高強全文檢索搜尋引擎
定價:580
NT $ 300 ~ 580
  • 作者:小問
  • 出版社:佳魁資訊
  • 出版日期:2019-10-04
  • 語言:繁體中文
  • ISBN10:9863797804
  • ISBN13:9789863797807
  • 裝訂:平裝 / 424頁 / 17 x 23 x 2.12 cm / 普通級 / 單色印刷 / 初版
 

內容簡介

  大資料時代的資訊檢索技術
  騰訊、阿里巴巴、百度、東京等一線互聯網公司正大力推進Elasticsearch的使用場景,本書以豐富的實例介紹Elasticsearch,可幫助讀者快速應用Lucene庫處理全文檢索業務,掌握使用Elasticsearch搭建分散式搜尋引擎的方法與技巧。

  本書為入門Lucene、Elasticsearch
  首先介紹資訊檢索領域中一些基本理論,也就是Lucene的數學模型,之後介紹如何使用Lucene 函數庫建置全文檢索系統,最後介紹Elasticsearch。按照從數學模型到入門基礎再到專案實戰的想法來撰寫,數學模型讓讀者知其然也知其所以然,入門基礎是理論到實際應用的必經之路,專案實戰則是為了學以致用。書中的每一部分都力圖簡明扼要,使用大量實例和程式,為讀者能夠快速掌握全文檢索技術掃除障礙。

  適用:學生、Java 程式開發者、搜尋引擎研發人員

本書特色

  分散式搜尋分析系統/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到Elasticsearch
4.1 Elasticsearch概述
4.2 安裝Elasticsearch
4.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 API
8.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 API
9.5 Cluster API
9.6 監控外掛程式
9.7 本章小結

CHAPTER 10 新聞搜索專案實戰
10.1 需求分析
10.2 資料準備
10.3 資料匯入
10.4 查詢介面
10.5 搜索新聞
10.6 結果展示
10.7 本章小結

CHAPTER 11 Elasticsearch For Hadoop
11.1 Hadoop基礎
11.2 ES-Hadoop安裝
11.3 從HDFS到Elasticsearch
11.4 從Elasticsearch到HDFS
11.5 本章小結

CHAPTER A 參考文獻

 
 

前言

  我們正處在一個大數據時代,大數據並不僅是指巨量資料,而更多的是指這些資料都是非結構化的、無法用傳統的方法進行處理的資料。相信很多人聽說過目前在雲端運算和大數據領域裡如日中天的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、JavaWeb的相關技術。

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

  搜尋引擎研發人員
  如果你是搜尋引擎開發者,本書中的實際案例和相關基礎知識可以作為參考資料,例如資訊檢索模型理論基礎、文件資訊取出、Lucene應用案例、Elasticsearch Java API、Elasticsearch叢集管理等。希望能以本書為媒介和大家共同探討和交流。
 
網路書店 類別 折扣 價格
  1. 新書
    52
    $300
  2. 新書
    79
    $458
  3. 新書
    85
    $493
  4. 新書
    9
    $522
  5. 新書
    9
    $522
  6. 新書
    95
    $553
  7. 新書
    $580