當前位置:律師網大全 - 專利申請 - Lucene的實戰目錄

Lucene的實戰目錄

目錄

1部分Lucene核心

第1章遇見Lucene 3

1.1應對信息爆炸4

1.2什麽是Lucene 5

Lucene能做什麽6

1 . 2 . 2 Lucene 7的歷史

1.3 Lucene和搜索組件9

1.3.1指數成分10

1.3.2搜索組件13

1.3.3搜索程序的其他模塊16

1 . 3 . 4 Lucene和應用程序18之間的集成點

1.4 Lucene實戰:程序示例18

1.4.1創建索引19

1.4.2搜索索引22

1.5理解索引進程的核心類25

1.5.1索引編寫器25

1.5.2目錄25

1.5.3分析儀26

1.5.4文件26

1.5.5字段27

1.6理解搜索過程的核心類27

1.6.1索引搜索器27

1.6.2期限28

1.6.3查詢28

1.6.4 TermQuery 28

1.6.5 TopDocs 29

1.7匯總29

第二章建築索引30

2.1 Lucene如何對搜索內容建模31

2.1.1文檔和域31

2.1.2靈活架構32

2.1.3反規格化)32

2.2了解索引過程33

2 . 2 . 1提取文本和創建文檔33

文件分析34

2.2.3向索引添加文檔34

2.3基本索引操作35

將文件35添加到索引中

2.3.2刪除索引中的文檔38

2.3.3更新索引中的文檔39

2.4域選項41

2.4.1域索引選項41

2.4.2域存儲選項42

2.4.3域42的項目向量選項

2.4.4讀取器、令牌流和byte[]字段值42。

2.4.5域選項組合43

2.4.6域排序選項44

2.4.7多範圍44

2.5加權文檔和字段45

2.5.1文件加權操作45

2.5.2域加權操作46

2.5.3加權標準)47

2.6索引號、日期和時間48

1索引號48

索引日期和時間49

2.7字段截斷)50

2.8近實時搜索51

2.9優化指數51

2.10其他目錄小類52

2.11並發、線程安全和鎖定機制55

2.11.1線程安全和多虛擬機安全55

2.11.2通過遠程文件系統訪問索引56

2.11.3索引鎖定機制57

2.12調試索引59

2.13高級索引概念60

使用IndexReader刪除文檔61。

2.13.2恢復已刪除文檔的已用磁盤空間62

2.13.3緩沖和刷新62

2.13.4索引提交63

2.13.5 ACID交易和指數連續性65

2.13.6合並段66

2.14匯總68

第3章為應用程序添加搜索功能70

3.1實現簡單搜索功能71

3.1.1搜索特定項目72

3.1.2分析用戶輸入的查詢表達式:QueryParser 73

3.2使用索引搜索器類別76

3.2.1創建索引搜索器類別76

3.2.2實現搜索功能78

3.2.3使用TopDocs class 78

3.2.4搜索結果的分頁

3.2.5近實時搜索79

3.3了解Lucene 81的評分機制

3 . 3 . 1 Lucene如何得分81?

3.3.2使用explain()了解搜索結果得分83

3.4 Lucene的多樣化查詢84

3.4.1按項目搜索:$ TermQuery Class 85

3.4.2在指定的項目範圍內搜索:TermRangeQuery Class 86

3.4.3在指定的數字範圍內搜索:NumericRangeQuery class 87

3.4.4按字符串搜索:前綴查詢類88

3.4.5組合查詢:BooleanQuery類88

3.4.6通過短語搜索:短語查詢類91

通配符查詢類別93

3.4.8搜索相似項目:模糊查詢類別94

3.4.9匹配所有文檔:MatchAllDocsQuery類95

3.5解析查詢表達式:QueryParser 96

3.5.1 Query.toString方法97

術語查詢97

3.5.3物料範圍查詢98

數字範圍搜索和日期範圍搜索99

3.5.5前綴查詢和通配符查詢99

布爾運算符100

3.5.7短語查詢100

3.5.8模糊查詢101

MatchAllDocsQuery 102

3.5.10分組查詢102

3.5.11域選擇103

3.5.12為子查詢設置權重103。

3.5.13我壹定要用QueryParse 103嗎?

3.6摘要104

第4章Lucene 105的分析過程

4.1使用分析儀106

4.1.107過程中的分析

4.1.2 QueryParser分析109

4.1.3解析vs分析:分析儀什麽時候不再適用於109?

4.2解析分析器110

4.2.1詞匯單位的構成111

4.2.2揭示詞匯單位流112

4.2.3觀察分析儀115

4.2.4詞法單元過濾:過濾順序的重要性119

4.3使用內置分析儀121

4.3.1停止分析器122

標準分析儀122

4.3.3應采用哪種巖心分析儀123?

4.4近音詞查詢123

4.5同義詞、別名和其他具有相同含義的詞126

4.5.1創建同義詞分析器127

4.5.2顯示詞匯單元131的位置。

4.6詞幹分析132

4.6.1 StopFilter,預留空間133。

4.6.2將詞幹化操作和停用詞移除操作134結合起來。

4.7域分析134

4.7.1多區間分析135

4.7.2特定領域分析135

4.7.3搜索未解析域136。

4.8語言分析139

4.8.1 Unicode和字符編碼139

4.8.2非英語語言分析140

4.8.3字符規範化處理140

4.8.4亞洲語言分析141

4.8.5關於非英語語言分析的其他問題143

4.9 Nutch分析144

4.10匯總146

第5章高級搜索技術147

5.1 Lucene域緩存148

5.1.1為所有文檔加載域值149。

對應於段落5.1.2的閱讀器149。

5.2對搜索結果進行排序150

5.2.1按域值150排序

5.2.2按相關性排序153

5.2.3按索引順序排序154

5.2.4按域排序154

5.2.5反向排序155

5.2.6按多個域排序156

5.2.7排序字段選擇類型157。

5.2.8使用非默認區域設置對157進行排序。

5.3使用multiprasequery 158

5.4多域壹次性查詢160

5.5跨度查詢162

5.5.1 Span查詢構建模塊:SpanTermQuery 165

5.5.2求域開頭的跨度166。

5.5.3相鄰跨度167

5.5.4從匹配結果中排除169的重疊跨度。

SpanOrQuery class 170

SpanQuery類和QueryParser類171

5.6搜索過濾172

5.6.1終端測距過濾器173

數字範圍過濾器174

5 . 6 . 3 FieldCacheRangeFilter 174

5.6.4特定項目過濾174

5.6.5使用QueryWrapperFilter類175

使用SpanQueryFilter class 175。

安全過濾器176

5.6.8使用BooleanQuery類177進行過濾

前置過濾器178

5.6.10緩存過濾結果178

5.6.11將過濾器封裝為查詢179。

5.6.12過濾器過濾器179

5.6.13非Lucene內置過濾器180

5.7使用函數查詢實現自定義評分180。

5.7.1相關類的功能查詢180

5.7.2用函數查詢182對最近修改的文檔進行加權。

5.8搜索多個索引184

5.8.1使用多重搜索類184。

5.8.2使用ParallelMultiSearcher 186進行多線程搜索

5.9使用術語向量186

5.9.1搜索相似書籍187

5.9.2屬於哪壹類?190.

5.9.3端子193級

5.10用FieldSelector加載域194。

5.11停止慢速搜索195

5.12匯總196

第六章擴展搜索198

6.1使用自定義排序方法199。

6.1.1基於地理位置排序方法的文檔索引199

6.1.2自定義地理位置排序模式200的實現

6.1.3訪問自定義排序中的值203

6.2開發自定義收集器204

收集器基本類別205

6.2.2自定義收集器:BookLinkCollector 206

AllDocCollector類207

6.3擴展QueryParser類208

6.3.1自定義QueryParser行為208

6.3.2禁用模糊查詢和通配符查詢209

6.3.3處理數值域210的範圍查詢

6.3.4處理日期範圍是211。

6.3.5查詢訂購短語213

6.4自定義過濾器215

6.4.1實現自定義過濾器215

6.4.2在搜索過程中使用自定義過濾器216。

6.4.3另壹個選項:FilterQuery類217。

6.5有效載荷)218)

6.5.1分析期間生成的有效載荷219

6.5.2搜索期間使用的有效載荷220

6.5.3有效載荷和跨度查詢223

6.5.4通過$回收有效載荷位置223

6.6摘要223

第2部分Lucene應用程序

第7章使用Tika提取文本227

7.1提卡228是什麽

7.2 tika和API 230的邏輯設計

7.3安裝Tika 231

7.4 Tika的內置文本提取工具232

7.5實現文本提取的編程234

7.5.1索引Lucene文檔234

237級Tika工具

7.5.3選擇定制分析儀238

7.6 tika 238的限制

7.7索引自定義XML文件239

7.7.1用SAX 239解析

7.7.2使用Apache Commons消化器進行解析和索引242

7.8其他選擇244

7.9摘要245

第八章Lucene基本擴展246

8.1 Luke: Lucene的索引工具箱247

8.1.1總覽頁簽:索引248的全局視圖

8.1.2瀏覽文檔249

8.1.3使用QueryParser 251進行搜索

8.1.4文件和插件選項卡252

8.2分析器、詞匯單元和詞匯單元過濾器253

雪球分析儀255

Ngram過濾器256

瓦片式過濾器258

8.2.4捐贈分析儀的獲取258

8.3突出顯示查詢項259

8.3.1高亮模塊259

8.3.2獨立高亮示例262

8.3.3使用CSS突出顯示263

8.3.4突出顯示搜索結果264

8.4 FastVector熒光筆266類

8.5拼寫檢查269

8.5.1生成提示列表269

8.5.2選擇最佳提示271

8.5.3向用戶顯示搜索結果272

8.5.4關於加強拼寫檢查的壹些考慮273

8.6醒目查詢擴展功能274

8.6.1更多信息

8.6.2模糊相似查詢275

8.6.3增強查詢275

術語過濾器276

8.6.5重復過濾器276

RegexQuery 276

8.7構建軟件捐贈模塊(contrib模塊)277

8.7.1源代碼獲取方法277

8 . 7 . 2 contrib目錄的Ant插件277

8.8摘要278

第九章Lucene高級擴展279

9.1鏈式過濾器280

9.2使用Berkeley DB存儲索引282

9.3 WordNet同義詞284

建立同義詞索引285

9.3.2將WordNet同義詞鏈接到Analyzer 287

9.4基於內存的快速索引289

9.5 XML QueryParser:超越“壹個框”的搜索界面289

9.5.1使用XmlQueryParser 291。

9.5.2擴展XML查詢語法295

9.6外圍查詢語言296

9.7空間Lucene 298

9.7.1索引空間數據299

9.7.2搜索空間數據302

9.7.3空間Lucene 304的性能特征

9.8遠程多索引搜索306

9.9靈活的QueryParser 309

9.10其他內容312

9.11匯總313

第10章其他編程語言使用Lucene 314。

10.1移植315簡介

10.1.1移植選擇316

10.1.2選擇合適的移植版本317。

10.2氯新烯(C++) 317

移植目的318

10.2.2 API和索引兼容性319

10.2.3支持的平臺

10.2.4現狀及未來展望321

10.3 Lucene-Net(C#等。NET編程語言)321

10.3.1 API兼容性323

10.3.2索引兼容性324

10.4 KinoSearch和Lucy(Perl) 324

1基諾搜索325

露西327

10.4.3其他Perl選項327

10.5雪貂(紅寶石)328

10.6 PHP 329

10.6.1 Zend框架329

10.6.2 PHP網橋330

10.7 PyLucene(Python) 330

10.7.1 API兼容性332

10.7.2其他Python選項332

10.8 Solr(包括多種編程語言)332

10.9匯總334

第11章Lucene管理和性能調優335

11.1性能調整336

11.1.1簡單性能調整步驟337

11.1.2試驗方法338

11.1.3索引搜索延遲調整339

11.1.4索引操作吞吐量調整340

11.1.5搜索延遲和搜索吞吐量調整344

11.2多線程和並行處理346

11.2.1對索引操作347使用多線程。

11.2.2使用多線程搜索操作351

11.3資源消耗管理354

11.3.1磁盤空間管理354

11.3.2文件描述符管理357

11.3.3內存管理361

11.4熱備份索引364

11.4.1創建索引備份365

11.4.2恢復索引366

11.5常見錯誤367

11.5.1指數受損367

11.5.2修復指數369

11.6匯總369

第三部分案例分析

第12章案例分析1:克魯格373

克魯格簡介374

12.2應用程序架構375

12.3搜索性能376

12.4源代碼分析377

12.5子字符串搜索378

12.6查詢VS搜索381

12.7改善空間382

12.7.1字段緩存內存使用情況382

12.7.2綜合指數382

12.8匯總383

第13章案例分析2:魔女384

13.1警報器簡介385

警笛優勢385

13.2.1搜索所有域387

壹個高效的字典388

13.2.3可變字段388

13.2.4多值域的高效處理388

13.3帶警報器的索引實體388

13.3.1數據模型389

13.3.2實施問題389

13.3.3指數匯總390

13.3.4索引前的數據準備390

13.4使用警報器392搜索實體

13 . 4 . 1搜索內容392

13.4.2按單元393限制搜索範圍

13.4.3將單元格組合成元組393。

13.4.4實體描述查詢394

13.5在Solr中集成警報器394

13.6基準395

13.7摘要397

第14章案例分析3: LinkedIn 398

14.1使用Bobo瀏覽的群組搜索398

設計14.1.1波波瀏覽400

14.1.2深度分組搜索403

14.2使用Zoie 405進行實時搜索

14.2.1佐伊架構406

實時與近實時409

14.2.3文件和索引請求411

14.2.4自定義索引閱讀器411

14.2.5對比Lucene 412的近實時搜索。

14.2.6分布式搜索413

14.3匯總415

附錄A Lucene 416的安裝

A.1二進制文件安裝416

A.2運行命令行演示程序417

A.3運行Web應用程序演示程序418

A.4編譯源代碼419

A.5錯誤的安排

附錄B Lucene索引格式421

B.1邏輯索引視圖421

B.2關於索引結構422

B.2.1了解多文件索引結構422

B.2.2了解復合指數結構425

B.2.3轉換指數結構426

B.3反向指數427

B.4摘要430

附錄C Lucene/Contib基準測試431

C.1運行測試腳本432

C.2測試腳本的組成部分435

C.2.1內容源和文檔生成器438

C.2.2查詢生成器439

C.3控制結構439

C.4內置任務441

C.4.1創建和使用行文件445

C.4.2內置報表任務446

C.5評估搜索質量446

C.6錯誤處理449

C.7概要449

附錄d資源450

D.1 Lucene知識庫450

D.2國際化

D.3語言檢測451

D.4項向量451

D.5 Lucene移植版本451

D.6案例研究452

D.7其他

D.8信息檢索軟件452

D.9道格·卡丁作品453

D.9.1會議文件453

D.9.2美國專利454

  • 上一篇:供暖壁掛爐有哪些值得推薦的品牌?
  • 下一篇:平價好用的護手霜有哪些 防幹裂護手霜哪種好
  • copyright 2024律師網大全