Lucene应用开发揭秘

Lucene应用开发揭秘

 

华章培训网地址:http://www.hztraining.com/bbs/showtopic-1954.aspx

ChinaPub地址:http://product.china-pub.com/3502099&ref=xiliegoumai

 

注意事项:

  • 由于本人是首次录制此类视频,不完美之处敬请谅解
  • 此系列课程主要包涵三大部分,一是搜索引擎的原理,二是lucene的深入解析及高级特性,三是实时搜索分布式搜索的框架解析及代码实现
  • 对于搜索引擎的原理部分,理论讲解比较多,有的部分内容较少,处于完整性的需要,还是作为单独的一节,可能视频时间较短,好在视频是分节销售的,本人已经标记出每节的视频时长,可以选择性购买
  • 对于lucene的深入解析及高级特性,基本在《Lucene原理与代码分析》系列博文中有所阐述,如果不想购买的朋友可下载http://download.csdn.net/detail/forfuture1978/2452992,不要积分
  • 对于实时搜索分布式搜索的框架解析及代码实现部分,本人认为最有价值的部分是框架的原理以及代码,有的视频课程是在视频播放的过程中现场写代码的,所以视频时长可能会比较长,本人采取的是事先写好代码,在视频中只是向大家解说,所以时间可能较短。

课程描述:

本课程不局限于如何使用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分钟,附代码

 

Heritrix是IA的开放源代码,可扩展的,基于整个Web的,归档网络爬虫工程 Heritrix工程始于2003年初,IA的目的是开发一个特殊的爬虫,对网上的 资源进行归档,建立网络数字图书馆,在过去的6年里,IA已经建立了400TB的数据。 IA期望他们的crawler包含以下几种: 宽带爬虫:能够以更高的带宽去站点爬。 主题爬虫:集中于被选择的问题。 持续爬虫:不仅仅爬更当前的网页还负责爬日后更新的网页。 实验爬虫:对爬虫技术进行实验,以决定该爬什么,以及对不同协议的爬虫爬行结果进行分析的。 Heritrix的主页是http://crawler.archive.org Heritrix是一个爬虫框架,可加如入一些可互换的组件。 它的执行是递归进行的,主要有以下几步: 1。在预定的URI中选择一个。 2。获取URI 3。分析,归档结果 4。选择已经发现的感兴趣的URI。加入预定队列。 5。标记已经处理过的URI Heritrix主要有三大部件:范围部件,边界部件,处理器链 范围部件:主要按照规则决定将哪个URI入队。 边界部件:跟踪哪个预定的URI将被收集,和已经被收集的URI,选择下一个URI,剔除已经处理过的URI。 处理器链:包含若干处理器获取URI,分析结果,将它们传回给边界部件 Heritrix的其余部件有: WEB管理控制台:大多数都是单机的WEB应用,内嵌JAVA HTTP 服务器。 操作者可以通过选择Crawler命令来操作控制台。 Crawler命令处理部件:包含足够的信息创建要爬的URI。 Servercache(处理器缓存):存放服务器的持久信息,能够被爬行部件随时 查到,包括IP地址,历史记录,机器人策略。 处理器链: 预取链:主要是做一些准备工作,例如,对处理进行延迟和重新处理,否决随后的操作。 提取链:主要是获得资源,进行DNS转换,填写请求和响应表单 抽取链:当提取完成时,抽取感兴趣的HTML,JavaScript,通常那里有新的也适合的URI,此时URI仅仅被发现,不会被评估 写链:存储爬行结果,返回内容和抽取特性,过滤完存储。 提交链:做最后的维护,例如,测试那些不在范围内的,提交给边界部件 Heritrix 1.0.0包含以下关键特性: 1.用单个爬虫在多个独立的站点一直不断的进行递归的爬。 2。从一个提供的种子进行爬,收集站点内的精确URI,和精确主机。 3。主要是用广度优先算法进行处理。 4。主要部件都是高效的可扩展的 5。良好的配置,包括: a。可设置输出日志,归档文件和临时文件的位置 b。可设置下载的最大字节,最大数量的下载文档,和最大的下载时间。 c。可设置工作线程数量。 d。可设置所利用的带宽的上界。 e。可在设置之后一定时间重新选择。 f。包含一些可设置的过滤机制,表达方式,URI路径深度选择等等。 Heritrix的局限: 1。单实例的爬虫,之间不能进行合作。 2。在有限的机器资源的情况下,却要复杂的操作。 3。只有官方支持,仅仅在Linux上进行了测试。 4。每个爬虫是单独进行工作的,没有对更新进行修订。 5 。在硬件和系统失败时,恢复能力很差。 6。很少的时间用来优化性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值