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分鐘,附程式碼