前言
第1章 搜索引擎與Lucene
1.1 搜索引擎與Lucene簡介
1.1.1 搜索引擎分類
1.1.2 Lucene項目簡介
1.1.3 其他搜索引擎開發(fā)包介紹
1.2 Lucene的系統(tǒng)架構
1.2.1 Lucene最簡示例
1.2.2 Lueene采用的索引結構
1.2.3 Lucene軟件包架構
1.3 本書的章節(jié)導航
第2章 文檔邏輯視圖與文本分析
2.1 文檔邏輯視圖
2.2 Lucene的文本分析過程簡介
2.3 空格解析器(WhitespaceAnalyzer)
2.3.1 空格分詞器(Whitespace Tokenizer)
2.3.2 Token(標志)
2.4 標準解析器(StandardAnalyzer)
2.4.1 標準分詞器(StandardTokenizer)
2.4.2 標準過濾器
2.5 打造自己的解析器
2.5.1 常用的中文分詞法
2.5.2 對CJKAnalyzer的分析
2.5.3 構造自己的解析器
第3章 Lucene創(chuàng)建索引之一(段索引方式與倒排索引結構)
3.1 倒排結構與段索引方式
3.2 索引寫入過程概述
第4章 Lucene創(chuàng)建索引之二(在內存中創(chuàng)建索引)
4.1 創(chuàng)建Document層面索引
4.2 寫入field信息
4.3 文件倒排過程
4.4 填寫postin,able
4.5 postingTable的排序過程
4.6 寫入field名字文件(.fnm文件)
4.7 寫入field信息文件(.fdt,.fdx文件)
4.8 寫入頻率與位置文件(.frq與.prx文件)
4.9 TermVector方式寫入索引(.tvf,.tvd與.tvx文件)
4.10 字典文件(.tis與.tii文件)
4.11 寫入規(guī)格化文件
第5章 Lucene創(chuàng)建索引之三(索引合并過程)
5.1 document層面的合并過程
5.2 field與term的合并過程
5.2.1 field信息合并過程
5.2.2 term信息合并過程
5.2.3 合并norm信息
5.3 Lunece索引采用的壓縮算法
5.3.1 front coding(端部編碼)
5.3.2 variable-byte coding(變長字節(jié)編碼)
5.3.3 delta-coding或deha-encoding
5.4 小結
第6章 Lucene查詢過程之一(查詢模型與引擎預熱)
6.1 查詢模型
6.1.1 向量模型
6.1.2 布爾模型
6.1.3 Lucene的評分(score)方式
6.2 查詢簡單示例
6.3 引擎預熱
6.3.1 獲得并打開索引文件
6.3.2 獲得segment信息
6.3.3 FSDirectory打開索引過程
6.3.4 獲得field信息
6.3.5 獲得term信息
第7章 Lucene查詢過程之二(查詢解析與語法)
7.1 構建查詢解析器(QueryParser)
7.2 Lucene的查詢語法
7.2.1 項(Tcrm)查詢
7.2.2 域(Field)
7.2.3 詞條查詢(Term Modifiers)
7.2.4 布爾操作符(Boolean Operator)
7.2.5 組合查詢(Grouping)
7.2.6 針對field的組合查詢(Field Grouping Field)
7.2.7 Escaping Special Character(轉義字符)
7.3 Lucene查詢語法樹的構建過程
7.3.1 過程分析
7.3.2 語法樹分析實例
第8章 Lucene查詢過程之三(相似度匹配與算法分析)
8.1 查詢與相似度計算
8.1.1 查詢器(Searcher)的查詢過程
8.1.2 查詢語句的權重計算
8.1.3 獲得topK個document
8.2 Lncene查詢算法分析
8.2.1 相似度計算簡單實例
8.2.2 線性相似度計算
8.2.3 基于倒排索引的相似度計算
8.2.4 Lucene的相似度計算
第9章 Lucene標引與查詢全程示例
9.1 實例描述
9.2 建立索引過程
9.2.1 選擇文檔中建立索引的.field
9.2.2 選擇field錄入方式
9.2.3 生成segment文件
9.2.4 生成fields文件
9.2.5 posting文件
9.2.6 合并segment index生成index文件
9.2.7 合并后的文件關系
9.3 查詢過程
第10章 Lucene的常用應用場景分析
10.1 對大型XML文檔集合的檢索
10.1.1 都柏林文件介紹
10.1.2 XML分析器介紹
10.1.3 Lucene在大型XML文件中的應用
10.2 MuhiSearcher的應用
10.2.1 MultiSearcher的應用
10.2.2 ParallelMuhiSearcher的應用
第11章 利用Lucene構建分布式搜索引擎
11.1 分布式文件系統(tǒng)和Hadoop
11.1.1 Hadoop文件系統(tǒng)體系結構
11.1.2 系統(tǒng)交互過程:單一NameNode方式
11.1.3 系統(tǒng)組件描述
11.2 Nutch簡單剖析
11.3 體驗Nutch
附錄A TestIndexWriterMerging
附錄B TestDocumentWriter與DocHelper