全面精通搜索引擎培训课程方案

课程简介:  

全方位展现出一个商用级别的Lucene搜索解决方案,主要包括爬虫、自然语言处理和搜索实现部分。

爬虫部分介绍了网页遍历方法和从网页提取主要内容的方法。

自然语言处理部分包括了中文分词从理论到实现以及在搜索引擎中的实用等细节。

其他自然语言处理的经典问题与实现包括:文档排重、文本分类、自动聚类、语法解析树、拼写检查、拼音转换等理论与实现方法。

在实现搜索方面,包括实现布尔逻辑查询、按区间范围查询、搜索结果按日期

排序等。

最后以基于Lucene的搜索服务器Solr为例,展示了Lucene的最新应用方法。

课程目标:

提高软件开发与运维能力,熟悉搜索引擎实用技巧及窍门;

深入了解搜索引擎底层机制、真正迈向搜索开发高手行列;

提升团队软件开发能力;

协助规范软件开发习惯;

培训对象:

软件开发设计员、系统分析员、程序管理员、网络运维、开发人员、对搜索引擎有兴趣的人。

预备知识:

对主流开发语言C++、Delphi、Java、C# 、python或Visual Basic等其中一种有了解

对网络与数据库的基本概念有一定了解

对网络运维与软件开发等其中一种有一定经验

课程时间:

共5天,每天6小时授课,半小时答疑

课程安排:

时间安排

课程内容

第一天

第1章 遍历搜索引擎技术 

1.1 

1.1.1 准备工作环境(10分钟)

1.1.2 编写代码(15分钟)

1.1.3 发布运行(5分钟)

 

1.2 Google神话

1.3 体验搜索引擎

1.4 搜索语法

1.5 你也可以做搜索引擎

 

1.6 搜索引擎基本技术

1.6.1 网络蜘蛛

1.6.2 全文索引结构

1.6.3 Lucene全文检索引擎

1.6.4 Nutch网络搜索软件

1.6.5 用户界面

 

1.7 商业搜索引擎技术介绍

1.7.1 通用搜索

1.7.2 垂直搜索

1.7.3 站内搜索

1.7.4 桌面搜索

 

第2章 获得海量数据

2.1 自己的网络蜘蛛

2.1.1 抓取网页

2.1.2 网络蜘蛛遍历与实现

2.1.3 改进网络蜘蛛

2.1.4 MP3抓取

2.1.5 RSS抓取

2.1.6 图片抓取

2.1.7 垂直行业抓取

 

2.2 抓取数据库中的内容

2.2.1 建立数据视图

2.2.2 JDBC数据库连接

2.2.3 增量抓取

 

2.3 抓取本地硬盘上的文件

第二天

第3章 提取文档中的文本内容

3.1 从HTML文件中提取文本

3.1.1 HtmlParser介绍

3.1.2 结构化信息提取

3.1.3 查看网页的DOM结构

3.1.4 正文提取的工具NekoHTML

3.1.5 网页去噪

3.1.6 网页结构相似度计算

3.1.7 网站风格树去除文档噪声

3.1.8 正文提取

 

3.2 从非HTML文件中提取文本

3.2.1 TEXT文件

3.2.2 PDF文件

3.2.3 Word文件

3.2.4 RTF文件

3.2.5 Excel文件

3.2.6 PowerPoint文件

 

3.3 流媒体内容提取

3.3.1 音频流内容提取

3.3.2 视频流内容提取

3.4 抓取限制应对方法

 

 

第4章 中文分词

4.1 Lucene中的中文分词

4.2 Lietu中文分词的使用

4.3 中文分词的原理 

4.4 查找词典算法

4.5 最大概率分词方法

4.6 新词发现

4.7 词性标注

第三天

第5章 自然语言处理

5.1 语法解析树

5.2 文档排重

 

5.3 中文关键词提取

5.3.1 关键词提取的基本方法

5.3.2 从网页中提取关键词

 

5.4 相关搜索

 

5.5 拼写检查

5.5.1 英文拼写检查

5.5.2 中文拼写检查

 

5.6 自动摘要

5.6.1 自动摘要技术

5.6.2 自动摘要的设计

5.6.3 Lucene中的动态摘要

 

5.7 自动分类

5.7.1 Classifier4J

5.7.2 自动分类的接口定义

5.7.3 自动分类的SVM方法实现

5.7.4 多级分类

 

5.8 自动聚类

5.8.1 聚类的定义

5.8.2 K均值聚类方法

5.8.3 K均值实现

 

5.9 拼音转换

5.10 语义搜索

5.11 跨语言搜索

5.12 本章小结

 

第6章 创建索引库

6.1 设计索引库结构

6.1.1 理解Lucene的索引库结构

6.1.2 设计一个简单的索引库

 

6.2 创建和维护索引库

6.2.1 创建索引库

6.2.2 向索引库中添加索引文档

6.2.3 删除索引库中的索引文档

6.2.4 更新索引库中的索引文档

6.2.5 索引的合并

6.2.6 索引的定时更新

6.2.7 索引的备份和恢复

6.2.8 修复索引

 

6.3 读写并发控制

6.4 优化使用Lucene

6.4.1 索引优化

6.4.2 查询优化

6.4.3 实现时间加权排序

6.4.4 实现字词混合索引

6.4.5 定制Similarity

6.4.6 定制Tokenizer

 

6.5 查询大容量索引

第四天

第7章 用户界面设计与实现

7.1 Lucene搜索接口(search代码)

7.2 搜索页面设计

7.2.1 用于显示搜索结果的taglib

7.2.2 用于搜索结果分页的taglib

7.2.3 设计一个简单的搜索页面

 

7.3 实现搜索接口

7.3.1 布尔搜索

7.3.2 指定范围搜索

7.3.3 搜索结果排序

7.3.4 搜索页面的索引缓存与更新

 

7.4 实现关键词高亮显示

7.5 实现分类统计视图

7.6 实现相似文档搜索

7.7 实现AJAX自动完成

7.7.1 总体结构

7.7.2 服务器端处理

7.7.3 浏览器端处理

7.7.4 服务器端改进

7.7.5 部署总结

 

7.8 jQuery实现的自动完成

7.9 集成其他功能

7.9.1 拼写检查

7.9.2 分类统计

7.9.3 相关搜索

7.9.4 再次查找

7.9.5 搜索日志

 

7.10 搜索日志分析

 

 

第8章 其他高级主题

8.1 使用Solr实现分布式搜索

8.1.1 Solr服务器端的配置与中文支持

8.1.2 把数据放进Solr

8.1.3 删除数据

8.1.4 客户端搜索界面

8.1.5 Solr索引库的查找

8.1.6 索引分发

8.1.7 Solr搜索优化

8.1.8 Solr中字词混合索引

8.1.9 相关检索

8.1.10 搜索结果去重

8.1.11 分布式搜索

8.1.12 SolrJ查询分析器

8.1.13 扩展SolrJ

8.1.14 扩展Solr

8.1.15 Solr的Java客户端

 

8.2 图像的OCR识别

8.3 竞价排名

8.4 Web图分析

8.5 使用并行程序分析数据

8.6 RSS搜索

 

第五天

第9章 优购网产品搜素引擎案例分析

9.1 优购网业务模型分析

9.2 优购网搜索关键字

9.3 优购网搜索业务架构

9.4 优购网搜索技术架构

9.5 优购网搜索代码赏析

9.5 优购网搜索部署架构

相关推荐