解密搜索引擎技术实战:Lucene&Java精华版
基本信息
内容简介回到顶部↑
《解密搜索引擎技术实战:lucene&java精华版》是猎兔搜索开发团队的软件研发和教学实践的经验汇总。
《解密搜索引擎技术实战:lucene&java精华版》总结搜索引擎相关理论与实际解决方案,并给出了 java 实现,其中利用了流行的开源项目lucene和solr,而且还包括原创的实现。本书主要包括总体介绍部分、爬虫部分、自然语言处理部分、全文检索部分以及相关案例分析。爬虫部分介绍了网页遍历方法和如何实现增量抓取,并介绍了从网页等各种格式的文档中提取主要内容的方法。自然语言处理部分从统计机器学习的原理出发,包括了中文分词与词性标注的理论与实现以及在搜索引擎中的实用等细节,同时对文档排重、文本分类、自动聚类、句法分析树、拼写检查等自然语言处理领域的经典问题进行了深入浅出的介绍并总结了实现方法。在全文检索部分,结合lucene 3.0介绍了搜索引擎的原理与进展。用简单的例子介绍了lucene的最新应用方法。本书包括完整的搜索实现过程:从完成索引到搜索用户界面的实现。本书还进一步介绍了实现准实时搜索的方法,展示了solr 1.4版本的用法以及实现分布式搜索服务集群的方法。最后介绍了在地理信息系统领域和户外活动搜索领域的应用。
《解密搜索引擎技术实战:lucene&java精华版》总结搜索引擎相关理论与实际解决方案,并给出了 java 实现,其中利用了流行的开源项目lucene和solr,而且还包括原创的实现。本书主要包括总体介绍部分、爬虫部分、自然语言处理部分、全文检索部分以及相关案例分析。爬虫部分介绍了网页遍历方法和如何实现增量抓取,并介绍了从网页等各种格式的文档中提取主要内容的方法。自然语言处理部分从统计机器学习的原理出发,包括了中文分词与词性标注的理论与实现以及在搜索引擎中的实用等细节,同时对文档排重、文本分类、自动聚类、句法分析树、拼写检查等自然语言处理领域的经典问题进行了深入浅出的介绍并总结了实现方法。在全文检索部分,结合lucene 3.0介绍了搜索引擎的原理与进展。用简单的例子介绍了lucene的最新应用方法。本书包括完整的搜索实现过程:从完成索引到搜索用户界面的实现。本书还进一步介绍了实现准实时搜索的方法,展示了solr 1.4版本的用法以及实现分布式搜索服务集群的方法。最后介绍了在地理信息系统领域和户外活动搜索领域的应用。
目录回到顶部↑
《解密搜索引擎技术实战:lucene&java精华版》
第1章 搜索引擎总体结构 15
1.1 搜索引擎基本模块 16
1.2 开发环境 16
1.3 搜索引擎工作原理 18
1.3.1 网络爬虫 18
1.3.2 全文索引结构与lucene实现 18
1.3.3 搜索用户界面 21
1.3.4 计算框架 22
1.3.5 文本挖掘 23
1.4 本章小结 24
第2章 网络爬虫的原理与应用 25
2.1 爬虫的基本原理 26
2.2 爬虫架构 28
2.2.1 基本架构 29
2.2.2 分布式爬虫架构 31
2.2.3 垂直爬虫架构 32
2.3 抓取网页 33
2.3.1 下载网页的基本方法 34
2.3.2 网页更新 37
第1章 搜索引擎总体结构 15
1.1 搜索引擎基本模块 16
1.2 开发环境 16
1.3 搜索引擎工作原理 18
1.3.1 网络爬虫 18
1.3.2 全文索引结构与lucene实现 18
1.3.3 搜索用户界面 21
1.3.4 计算框架 22
1.3.5 文本挖掘 23
1.4 本章小结 24
第2章 网络爬虫的原理与应用 25
2.1 爬虫的基本原理 26
2.2 爬虫架构 28
2.2.1 基本架构 29
2.2.2 分布式爬虫架构 31
2.2.3 垂直爬虫架构 32
2.3 抓取网页 33
2.3.1 下载网页的基本方法 34
2.3.2 网页更新 37
前言回到顶部↑
2011年3月23日,百度公司股价报收于132.58美元,其市值达到了460.7亿美元,超过了腾讯控股前日收盘时的市值,成为中国互联网企业的老大。为什么一个搜索引擎技术公司能有如此高的市值呢?因为搜索引擎技术本身的应用潜力。笔者相信,智能系统会越来越多地改进人们的生活,可以把搜索引擎作为智能系统中先验知识的来源。例如在遭遇核泄漏事故的日本福岛核电站抢险中,已经开始使用机器人在高辐射区域进行监控和辐射水平检测。但是这样的机器人只能解决特定问题,清除核辐射的机器人看起来像一个高级的遥控玩具车,而不是一个全功能的机器人。最近几年,IBM科学家们一直在努力研究一个当前最先进的问答系统,取名为“Watson”(华森)。IBM的智能系统华森还只能回答英文问题。如果要让机器人有更通用的用处,还需要更多的先验知识作为基础。
很多搜索相关的技术已经得到了初步的解决。在国内产业界也已经有很多公司掌握了基本的搜索开发技术并拥有专业的搜索技术开发人员。但是越来越多有价值的资讯对现有技术的处理能力仍然是一个挑战。
为了相对完整地阐述相关知识体系,这本书偏厚,读者可以直接翻到感兴趣的那一页开始阅读。如果有心情,从头开始往下读当然也很好。为了方便实践,需要有良好实现的代码作为参考。为了节约篇幅,书中的代码只是核心片段。本书相关代码的完整版本在附带光盘中可以找到。
作者罗刚在参加编写本书之前,还独立撰写过《自己动手写搜索引擎》一书,与王振东共同编写过《自己动手写网络爬虫》。经过10多年的技术积累以及猎兔搜索技术团队每年若干的研发投入,相信猎兔已经能够比以前做得更好。但越是深入接触客户的需求,越感觉到技术本身仍需要更多进展,才能满足实用的需要。写这本书也是考虑到,也许还需要更多的前进,才能使技术产生质的飞跃。
掌握搜索开发技术需要有效的学习方法。可以考虑每天学一个算法,就好像降龙十八掌,每天学一种掌法,每天都能感觉到自己的提高。对于有一些基础的读者,一个月下来就能感觉到明显的提升。当然,这样的学习需要坚持一段时间,然后才能熟练应用。就好像做菜,先大火烧开,然后转小火慢炖出滋味。
很多相关的论文不容易读懂,当碰到困难时,可以出去散步,在走路的过程中,可能会得到一些新想法。或者一周后再重新审视这个问题,会有新的认识。
本书分为相关技术总体介绍部分、爬虫部分、全文检索部分、自然语言处理部分以及相关案例分析。
爬虫部分从基本的爬虫原理开始讲解,通过介绍优先级队列、宽度优先搜索等内容引领读者入门;之后根据当前风起云涌的云计算热潮,重点讲述了云计算的基本原理及其在搜索中的应用,以及Web图分析、信息抽取等内容;为了能够让读者更深入地了解爬虫,本书在最后两章还介绍了有关爬虫的数据挖掘的内容。
全文检索部分重点介绍了搜索的基本原理与使用。主要介绍了开源软件实现Lucene以及Solr。不仅介绍如何使用这些开源软件,而且还会介绍其中的一些实现原理。Lucene更高版本的改进指出了当前需要解决的问题,欢迎读者在了解基本原理后进行更深入的研究。
自然语言处理部分向来是笔者关注的重点,因为系统的智能化依赖于此。开发中文搜索离不开中文分词。开发任何自然语言的搜索也离不开对相应语言的处理。对自然语言的处理其实也可以用到对Java或C语言这样的机器语言的处理方法,只不过处理自然语言更难一点。
虽然本书的每个章节都已经用代码强化了实现细节,但是对于初学者来说,也许需要更多的案例来理解相关技术在真实场景中的用法。案例分析部分介绍了在地理信息系统领域和户外活动搜索领域的应用。
本书适合需要具体实现搜索引擎的程序员使用,对于信息检索等相关研究人员也有一定的参考价值,同时猎兔搜索技术团队也已经开发出以本书为基础的专门培训课程和商业软件。
目前搜索引擎开发人员仍然很稀缺,作者真诚地希望通过本书把读者带入搜索引擎开发的天地并认识更多的朋友。本书不是一本零基础就可以全部掌握其内容的书,但是希望没有相关技术基础的读者也可以找到自己感兴趣的内容。当然,万事开头难,将来希望能开发出一本面向零基础读者的教程。
对于高级的开发人员,也可以参加猎兔的培训或者创业团队。职场人员经常面临各种压力。选择猎兔培训,不是几个月学完以后就不再见面,而是给大家提供持久的支持。当以后需要再次找工作的时候,或者需要创业时,依然可以在这里找到支持。很多商业运营的大项目失败的代价太高,所以他们往往只招有多年开发经验的工程师。但是为了成长就不要怕犯错误,在培训时可以等学员犯了错误之后再告知正确答案。有经验的工程师也可以在这里学习到完整的技术体系。
欢迎创业合伙人或者投资合伙人和猎兔合作。猎兔提供实在的技术基础平台,并探索切实可行的赢利方案。猎兔的早期合伙人有的已经成为当地的纳税大户,有的项目已经找到新的合伙人加入。“敬天爱人”是共同的做事原则。所谓敬天,就是依循自然之理、人间之正道,与人为善。换言之,就是坚持正确的做人之道。所谓爱人,就是摒弃一己私欲,体恤他人,持利他之心。
感谢开源软件开发人员和家人、关心猎兔的老师和朋友、创业伙伴以及信赖猎兔软件的客户多年来的支持。
编 者
很多搜索相关的技术已经得到了初步的解决。在国内产业界也已经有很多公司掌握了基本的搜索开发技术并拥有专业的搜索技术开发人员。但是越来越多有价值的资讯对现有技术的处理能力仍然是一个挑战。
为了相对完整地阐述相关知识体系,这本书偏厚,读者可以直接翻到感兴趣的那一页开始阅读。如果有心情,从头开始往下读当然也很好。为了方便实践,需要有良好实现的代码作为参考。为了节约篇幅,书中的代码只是核心片段。本书相关代码的完整版本在附带光盘中可以找到。
作者罗刚在参加编写本书之前,还独立撰写过《自己动手写搜索引擎》一书,与王振东共同编写过《自己动手写网络爬虫》。经过10多年的技术积累以及猎兔搜索技术团队每年若干的研发投入,相信猎兔已经能够比以前做得更好。但越是深入接触客户的需求,越感觉到技术本身仍需要更多进展,才能满足实用的需要。写这本书也是考虑到,也许还需要更多的前进,才能使技术产生质的飞跃。
掌握搜索开发技术需要有效的学习方法。可以考虑每天学一个算法,就好像降龙十八掌,每天学一种掌法,每天都能感觉到自己的提高。对于有一些基础的读者,一个月下来就能感觉到明显的提升。当然,这样的学习需要坚持一段时间,然后才能熟练应用。就好像做菜,先大火烧开,然后转小火慢炖出滋味。
很多相关的论文不容易读懂,当碰到困难时,可以出去散步,在走路的过程中,可能会得到一些新想法。或者一周后再重新审视这个问题,会有新的认识。
本书分为相关技术总体介绍部分、爬虫部分、全文检索部分、自然语言处理部分以及相关案例分析。
爬虫部分从基本的爬虫原理开始讲解,通过介绍优先级队列、宽度优先搜索等内容引领读者入门;之后根据当前风起云涌的云计算热潮,重点讲述了云计算的基本原理及其在搜索中的应用,以及Web图分析、信息抽取等内容;为了能够让读者更深入地了解爬虫,本书在最后两章还介绍了有关爬虫的数据挖掘的内容。
全文检索部分重点介绍了搜索的基本原理与使用。主要介绍了开源软件实现Lucene以及Solr。不仅介绍如何使用这些开源软件,而且还会介绍其中的一些实现原理。Lucene更高版本的改进指出了当前需要解决的问题,欢迎读者在了解基本原理后进行更深入的研究。
自然语言处理部分向来是笔者关注的重点,因为系统的智能化依赖于此。开发中文搜索离不开中文分词。开发任何自然语言的搜索也离不开对相应语言的处理。对自然语言的处理其实也可以用到对Java或C语言这样的机器语言的处理方法,只不过处理自然语言更难一点。
虽然本书的每个章节都已经用代码强化了实现细节,但是对于初学者来说,也许需要更多的案例来理解相关技术在真实场景中的用法。案例分析部分介绍了在地理信息系统领域和户外活动搜索领域的应用。
本书适合需要具体实现搜索引擎的程序员使用,对于信息检索等相关研究人员也有一定的参考价值,同时猎兔搜索技术团队也已经开发出以本书为基础的专门培训课程和商业软件。
目前搜索引擎开发人员仍然很稀缺,作者真诚地希望通过本书把读者带入搜索引擎开发的天地并认识更多的朋友。本书不是一本零基础就可以全部掌握其内容的书,但是希望没有相关技术基础的读者也可以找到自己感兴趣的内容。当然,万事开头难,将来希望能开发出一本面向零基础读者的教程。
对于高级的开发人员,也可以参加猎兔的培训或者创业团队。职场人员经常面临各种压力。选择猎兔培训,不是几个月学完以后就不再见面,而是给大家提供持久的支持。当以后需要再次找工作的时候,或者需要创业时,依然可以在这里找到支持。很多商业运营的大项目失败的代价太高,所以他们往往只招有多年开发经验的工程师。但是为了成长就不要怕犯错误,在培训时可以等学员犯了错误之后再告知正确答案。有经验的工程师也可以在这里学习到完整的技术体系。
欢迎创业合伙人或者投资合伙人和猎兔合作。猎兔提供实在的技术基础平台,并探索切实可行的赢利方案。猎兔的早期合伙人有的已经成为当地的纳税大户,有的项目已经找到新的合伙人加入。“敬天爱人”是共同的做事原则。所谓敬天,就是依循自然之理、人间之正道,与人为善。换言之,就是坚持正确的做人之道。所谓爱人,就是摒弃一己私欲,体恤他人,持利他之心。
感谢开源软件开发人员和家人、关心猎兔的老师和朋友、创业伙伴以及信赖猎兔软件的客户多年来的支持。
编 者
【插图】







点击看大图




加载中...
