從Lucene到Elasticsearch:全文檢索實戰

從Lucene到Elasticsearch:全文檢索實戰

《從Lucene到Elasticsearch:全文檢索實戰》是2017年清華大學出版社出版的圖書,圖書作者是姚攀

基本介紹

  • 書名:從Lucene到Elasticsearch:全文檢索實戰
  • 作者:姚攀
  • ISBN:9787302483069
  • 定價:79元
  • 出版社清華大學出版社 
  • 出版時間:2017年12月1日
  • 印次:1-1
  • 印刷日期:2017年11月10日
內容簡介,目錄結構,

內容簡介

本書循序漸進介紹了信息檢索、布爾檢索、向量空間模型、tf-idf、BM25排序算法、Lucene架構、Lucene創建索引、Lucene查詢、Lucene項目實戰、Elasticsearch安裝與配置、Elasticsearch外掛程式安裝、REST API數據操作、映射與模板、索引別名、Elasticsearch基本和高級搜尋、Elasticsearch同步資料庫、Elasticsearch集群管理、項目實戰等內容。閱讀本書,讀者能夠掌握信息檢索的核心概念,套用Lucene庫處理全文檢索業務,掌握Elasticsearch分散式搜尋引擎的使用方法與技巧。本書基於Lucene 6.0和Elasticsearch 5.4.0進行講解,技術先進,示例豐富,適合想學習信息檢索技術的初學者和相關專業的大學生、研究生學習,也很適合大數據及雲計算平台構建人員以及有一定基礎的IT開發人員使用。

目錄結構

第1章信息檢索模型1
1.1信息檢索概述1
1.1.1信息過載1
1.1.2信息檢索定義2
1.1.3信息檢索常用術語3
1.1.4信息檢索系統4
1.2分詞算法5
1.2.1分詞算法概述5
1.2.2詞典匹配分詞法6
1.2.3語義理解分詞法6
1.2.4詞頻統計分詞法7
1.3倒排索引7
1.4布爾檢索模型9
1.5tf-idf權重計算11
1.6向量空間模型13
1.7機率檢索模型16
1.7.1貝葉斯決策理論17
1.7.2二值獨立模型18
1.7.3OkapiBM25模型20
1.7.4BM25F模型20
1.8本章小結21
第2章Lucene開發入門22
2.1Lucene概述22
2.1.1Lucene簡介22
2.1.2Lucene特點22
2.1.3Lucene架構23
2.2Lucene開發準備25
2.2.1下載Lucene檔案庫25
2.2.2工程中引入Lucene26
2.2.3下載Luke27
2.2.4下載IK分詞工具28
2.2.5工程搭建29
2.3Lucene分詞詳解30
2.3.1Lucene分詞系統30
2.3.2分詞器測試31
2.3.3IK分詞器配置34
2.3.4中文分詞器對比36
2.3.5擴展停用詞詞典38
2.3.6擴展自定義詞典38
2.4Lucene索引詳解40
2.4.1Lucene欄位類型40
2.4.2索引文檔示例41
2.4.3Luke中查看索引46
2.4.4索引的刪除48
2.4.5索引的更新49
2.5Lucene查詢詳解50
2.5.1搜尋入門51
2.5.2多域搜尋(MultiFieldQueryParser)52
2.5.3詞項搜尋(TermQuery)53
2.5.4布爾搜尋(BooleanQuery)53
2.5.5範圍搜尋(RangeQuery)54
2.5.6前綴搜尋(PrefixQuery)55
2.5.7多關鍵字搜尋(PhraseQuery)55
2.5.8模糊搜尋(FuzzyQuery)55
2.5.9通配符搜尋(WildcardQuery)56
2.6Lucene查詢高亮56
2.7Lucene新聞高頻詞提取58
2.7.1問題提出58
2.7.2需求分析58
2.7.3編程實現58
2.8本章小結61
第3章Lucene檔案檢索項目實戰62
3.1需求分析62
3.2架構設計63
3.3文本內容抽取64
3.3.1Tika簡介64
3.3.2Tika下載64
3.3.3搭建工程65
3.3.4內容抽取66
3.3.5自動解析68
3.4工程搭建71
3.5索引文檔72
3.6查詢界面75
3.7檔案檢索77
3.8結果展示80
3.9本章小結85
第4章從Lucene到Elasticsearch86
4.1Elasticsearch概述86
4.1.1誕生過程86
4.1.2流行度分析88
4.1.3架構解讀89
4.1.4優點89
4.1.5套用場景90
4.1.6核心概念92
4.1.7對比RDMS94
4.1.8文檔結構94
4.2安裝Elasticsearch95
4.2.1安裝Java96
4.2.2下載Elasticsearch97
4.2.3啟動Elasticsearch97
4.2.4後台運行Elasticsearch99
4.2.5關閉Elasticsearch99
4.2.6基本配置100
4.3中文分詞器配置101
4.3.1IK分詞器安裝101
4.3.2擴展本地詞庫102
4.3.3配置遠程詞庫103
4.4Head外掛程式使用指南105
4.4.1Head外掛程式的安裝105
4.4.2Head外掛程式的使用107
4.5REST命令109
4.5.1CURL工具110
4.5.2KibanaDevTools111
4.6本章小結112
第5章Elasticsearch集群入門113
5.1索引管理113
5.1.1新建索引113
5.1.2更新副本115
5.1.3讀寫許可權115
5.1.4查看索引116
5.1.5刪除索引117
5.1.6索引的打開與關閉118
5.1.7複製索引118
5.1.8收縮索引119
5.1.9索引別名120
5.2文檔管理123
5.2.1新建文檔123
5.2.2獲取文檔125
5.2.3更新文檔127
5.2.4查詢更新129
5.2.5刪除文檔129
5.2.6查詢刪除130
5.2.7批量操作130
5.2.8版本控制133
5.2.9路由機制136
5.3映射詳解137
5.3.1映射分類137
5.3.2動態映射138
5.3.3日期檢測140
5.3.4靜態映射141
5.3.5欄位類型142
5.3.6元欄位156
5.3.7映射參數162
5.3.8映射模板180
5.4本章小結181
第6章Elasticsearch搜尋詳解182
6.1搜尋機制182
6.2全文查詢188
6.2.1matchquery188
6.2.2match_phrasequery190
6.2.3match_phrase_prefixquery190
6.2.4multi_matchquery190
6.2.5common_termsquery191
6.2.6query_stringquery193
6.2.7simple_query_string193
6.3詞項查詢193
6.3.1termquery193
6.3.2termsquery193
6.3.3rangequery194
6.3.4existsquery194
6.3.5prefixquery195
6.3.6wildcardquery195
6.3.7regexpquery196
6.3.8fuzzyquery196
6.3.9typequery196
6.3.10idsquery197
6.4複合查詢197
6.4.1constant_scorequery197
6.4.2boolquery198
6.4.3dis_maxquery198
6.4.4function_scorequery199
6.4.5boostingquery200
6.4.6indicesquery201
6.5嵌套查詢202
6.5.1nestedquery202
6.5.2has_childquery202
6.5.3has_parentquery204
6.6位置查詢205
6.6.1geo_distancequery206
6.6.2geo_bounding_boxquery206
6.6.3geo_polygonquery208
6.6.4geo_shapequery209
6.7特殊查詢210
6.7.1more_like_thisquery210
6.7.2scriptquery211
6.7.3percolatequery211
6.8搜尋高亮213
6.8.1自定義高亮片段213
6.8.2多欄位高亮213
6.8.3高亮性能分析214
6.9搜尋排序215
6.9.1默認排序215
6.9.2多欄位排序215
6.9.3分片影響評分216
6.10本章小結218
第7章聚合分析219
7.1指標聚合219
7.1.1MaxAggregation219
7.1.2MinAggregation220
7.1.3AvgAggregation220
7.1.4SumAggregation221
7.1.5CardinalityAggregation221
7.1.6StatsAggregation222
7.1.7ExtendedStatsAggregation222
7.1.8PercentilesAggregation223
7.1.9ValueCountAggregation224
7.2桶聚合224
7.2.1TermsAggregation225
7.2.2FilterAggregation227
7.2.3FiltersAggregation227
7.2.4RangeAggregation228
7.2.5DateRangeAggregation231
7.2.6DateHistogramAggregation232
7.2.7MissingAggregation233
7.2.8ChildrenAggregation233
7.2.9GeoDistanceAggregation234
7.2.10IPRangeAggregation235
7.3本章小結236
第8章ElasticsearchJavaAPI237
8.1JavaAPI簡介237
8.2Maven依賴238
8.3依賴衝突240
8.4連線到集群240
8.4.1傳輸機連線241
8.4.2節點連線241
8.4.3代碼實現241
8.5索引管理243
8.6文檔管理246
8.6.1新建文檔246
8.6.2獲取文檔249
8.6.3刪除文檔250
8.6.4更新文檔250
8.6.5查詢刪除252
8.6.6批量獲取252
8.6.7批量操作253
8.7搜尋詳解254
8.7.1全文查詢257
8.7.2詞項查詢257
8.7.3複合查詢258
8.7.4嵌套查詢260
8.7.5位置查詢260
8.7.6特殊查詢261
8.8聚合分析262
8.8.1指標聚合263
8.8.2桶聚合265
8.9集群管理269
8.10本章小結269
第9章集群管理270
9.1集群規劃270
9.2索引規劃272
9.3分散式集群273
9.4CatAPI275
9.4.1cataliases275
9.4.2catallocation275
9.4.3catcount275
9.4.4catfielddata276
9.4.5cathealth276
9.4.6catindices276
9.4.7catmaster276
9.4.8catnodeattrs277
9.4.9catnodes277
9.4.10catpendingtasks277
9.4.11catplugins277
9.4.12catrecovery278
9.4.13catrepositories278
9.4.14catthreadpool278
9.4.15catshards278
9.4.16catsegments279
9.4.17cattemplates279
9.5ClusterAPI279
9.5.1ClusterHealth279
9.5.2ClusterState281
9.5.3ClusterStats282
9.5.4PendingClusterTasks282
9.5.5ClusterReroute282
9.5.6ClusterUpdateSettings283
9.5.7NodesStats283
9.5.8NodesInfo283
9.5.9TaskManagementAPI284
9.5.10ClusterAllocationExplainAPI284
9.6監控外掛程式284
9.7本章小結286
第10章新聞搜尋項目實戰287
10.1需求分析287
10.2數據準備288
10.3數據導入290
10.4查詢界面294
10.5搜尋新聞296
10.6結果展示298
10.7本章小結302
第11章ElasticsearchForHadoop303
11.1Hadoop基礎304
11.1.1SSH配置304
11.1.2Hadoop下載305
11.1.3Hadoop單機模式305
11.1.4Hadoop偽分散式模式306
11.1.5HDFS常用操作309
11.2ES-Hadoop安裝310
11.2.1壓縮檔下載310
11.2.2Maven依賴310
11.3從HDFS到Elasticsearch311
11.3.1測試數據311
11.3.2編寫程式312
11.3.3代碼分析313
11.4從Elasticsearch到HDFS314
11.4.1讀取索引到HDFS314
11.4.2查詢Elasticsearch寫入HDFS315
11.5本章小結316
參考文獻317

相關詞條

熱門詞條

聯絡我們