1. 程式人生 > >Lucene應用開發揭祕上線了

Lucene應用開發揭祕上線了

Lucene應用開發揭祕

注意事項:

  • 由於本人是首次錄製此類視訊,不完美之處敬請諒解
  • 此係列課程主要包涵三大部分,一是搜尋引擎的原理,二是lucene的深入解析及高階特性,三是實時搜尋分散式搜尋的框架解析及程式碼實現
  • 對於搜尋引擎的原理部分,理論講解比較多,有的部分內容較少,處於完整性的需要,還是作為單獨的一節,可能視訊時間較短,好在視訊是分節銷售的,本人已經標記出每節的視訊時長,可以選擇性購買
  • 對於實時搜尋分散式搜尋的框架解析及程式碼實現部分,本人認為最有價值的部分是框架的原理以及程式碼,有的視訊課程是在視訊播放的過程中現場寫程式碼的,所以視訊時長可能會比較長,本人採取的是事先寫好程式碼,在視訊中只是向大家解說,所以時間可能較短。

課程描述:

本課程不侷限於如何使用Lucene,而是以Lucene為例項,通過對各模組的深入解析介紹搜尋引擎各個模組的設計原理與實現,進而能夠跳出Lucene看到搜尋引擎系統的架構全貌以及設計思想。

最後,本課程會介紹在使用Lucene構建搜尋引擎系統的時候可能涉及的一些Lucene的高階特性以及個性化修改和干預,並最終給出基於Lucene的實時搜尋系統的實現例項。

課程目錄:


1.第一講 搜尋引擎全貌

1.1.搜尋引擎系統的歷史

1.2.搜尋引擎系統的行業狀態

1.3.搜尋引擎系統的總體架構

1.4.初識Lucene

詳細資訊:ppt 12頁, 視訊65分鐘,不附程式碼

2.第二講 全文檢索的基本原理

2.1.什麼是全文檢索

2.2.索引裡面存了些什麼

2.3.如何建立索引

2.4.如何找到相關的文章

2.5.自己動手寫一個簡單的Lucene

詳細資訊:ppt 17頁,視訊46分鐘,不附程式碼

3.第三講 自己動手實現一個簡單的Lucene

3.1.回顧全文檢索的重要過程

3.2.設計你的索引

3.3.如何建立索引

3.4.如何找到相關的文章

詳細資訊:ppt 17頁,視訊67分鐘,附程式碼

4.第四講 進入搜尋引擎的世界-設計你的索引格式

4.1.詞典的儲存方式

順序列表

指標列表

前端編碼

雜湊表及最小完美雜湊

Trie樹及雙陣列Trie樹

M路搜尋樹

4.2.倒排表的儲存方式

定長編碼

差值編碼

無引數及有引數變長編碼

跳躍表

詳細資訊:ppt 39頁,視訊分上下兩集,上集54分鐘,下集28分鐘,不附程式碼(不好意思上下集內容配置的不夠平均)

5.第五講 進入搜尋引擎的世界-Lucene的索引格式

5.1.基本概念

5.2.基本資料型別

5.3.一些基本規則

字首編碼規則

差值規則

或然跟隨規則

跳躍表規則

5.4.重要的正向資訊

5.5.重要的反向資訊

5.6.其他資訊

詳細資訊:ppt 29頁,視訊分上下兩集,上集57分鐘,下集42分鐘,不附程式碼

6.第六講 進入搜尋引擎的世界-索引的建立

6.1.索引建立的主要過程

6.2.基於記憶體的索引建立

6.3.基於硬碟的索引建立

6.4.動態索引的建立

6.5.索引的合併

詳細資訊:ppt 12頁,視訊22分鐘,不附程式碼

7.第七講 進入搜尋引擎的世界-Lucene的索引的建立

7.1.索引過程的總體架構

7.2.Lucene的多執行緒索引

7.3.Lucene的多域索引

7.4.索引建立的關鍵步驟

7.5.Lucene的文件刪除

7.6.Lucene的快取管理

詳細資訊:ppt 40頁,視訊分上下兩集,上集39分鐘,下集45分鐘,不附程式碼

8.第八講 進入搜尋引擎的世界-Lucene的索引合併

8.1.Lucene段的合併綜述

8.2.段的合併策略

8.3.反向資訊的合併

8.4.段合併的關鍵步驟

詳細資訊:ppt 28頁,視訊29分鐘,不附程式碼

9.第九講 進入搜尋引擎的世界-搜尋的過程

9.1.搜尋的主要過程

9.2.查詢預處理

Stemming

拼寫檢查

同義詞

查詢擴充套件

9.3.資訊檢索模型

基於集合論:布林模型

基於代數論:向量空間模型

基於概率論:語言模型

詳細資訊:ppt 23頁,視訊41分鐘,不附程式碼

10.第十講 進入搜尋引擎的世界-Lucene的搜尋過程

10.1.搜尋過程的總體架構

10.2.Lucene的查詢語法

10.3.Lucene的評分機制

10.4.Lucene搜尋的關鍵步驟

詳細資訊:ppt 51頁,視訊分上下兩集,上集45分鐘,下集35分鐘,不附程式碼

11.第十一講 進入搜尋引擎的世界-Lucene的幾種重要查詢

11.1.查詢物件的層次結構

11.2.幾種高階的查詢物件

RangeQuery, SpanQuery, FilterQuery

詳細資訊:ppt 20頁,視訊36分鐘,附程式碼

12.第十二講 進入搜尋引擎的世界-分詞

12.1.常用的分詞方法

基於詞典的機械切分演算法:最大匹配方法,最短路徑方法

基於統計的切分演算法:N元語法

12.2.Lucene中的分詞器

12.3.定製自己的分詞器

對中科院分詞進行封裝

詳細資訊:ppt 22頁,視訊60分鐘,附程式碼

13.第十三講 Lucene的高階特性之一

13.1.Payload的原理與應用

13.2.區間查詢及使用Payload實現區間查詢

13.3.按照域Field進行排序及使用Payload實現按欄位排序

13.4.Lucene的事務性

詳細資訊:ppt 26頁,視訊30分鐘,附程式碼

14.第十四講 Lucene的高階特性之二

14.1.Lucene的效能瓶頸

14.2.影響Lucene的評分過程的四種方式

詳細資訊:ppt 20頁,視訊51分鐘,附程式碼

15.第十五講 基於Lucene的實時搜尋的原理與實現

15.1.實時搜尋的原理

15.2.實時搜尋的實現及程式碼

詳細資訊:ppt 12頁,視訊33分鐘,附程式碼

16.第十六講 基於Lucene的實時搜尋中文件更新問題

16.1.實時搜尋中文件更新原理

16.2.實時搜尋中文件更新實現及程式碼

詳細資訊:ppt 17頁,視訊38分鐘,附程式碼

17.第十七講 實時搜尋系統框架Zoie

17.1.總體架構

17.2.配置一個Zoie

17.3.Zoie實現實時搜尋的原理

17.4.Zoie的索引過程

17.5.Zoie的搜尋過程

詳細資訊:ppt 26頁,視訊40分鐘,不附程式碼

18.第十八講 基於Zoie建立實時搜尋系統

18.1.執行Zoie的一個Demo

18.2.總體架構

18.3.實現自己的各個元件

索引元件程式碼實現

搜尋元件程式碼實現

實時搜尋系統Demo

詳細資訊:ppt 6頁,視訊41分鐘,附程式碼

19.第十九講 分散式搜尋框架Sensei

19.1.總體架構

19.2.詳細架構

19.3.配置Sensei伺服器端

19.4.配置Sensei客戶端

19.5.Sensei的重要過程

客戶端啟動過程

伺服器端啟動過程

客戶端搜尋過程

伺服器端搜尋過程

詳細資訊:ppt 13頁,視訊44分鐘,不附程式碼

20.第二十講 基於sensei建立分散式搜尋系統

20.1.總體架構

20.2.實現自己的各個元件

伺服器端程式碼實現

客戶端程式碼實現

分散式搜尋系統Demo

詳細資訊:ppt 6頁,視訊57分鐘,附程式碼