课程的价值分析
大数据对搜索的价值(搜索引擎的大数据时代)

最有前途的软件开发技术——搜索引擎技术
搜索引擎作为互联网发展中至关重要的一种应用,已经成为互联网各个领域的制高点,其重要性不言而喻。搜索引擎领域也是互联网应用中不多见的以核心技术作为其命脉的领域,搜索引擎各个子系统是如何设计的?这成为广大技术人员和搜索引擎优化人员密切关注的内容。
随着互联网行业兴起,大数据时代的到来,搜索引擎开发成为一项极富含金量的工作,市场对搜索软件开发工程师的需求极其旺盛。大型搜索门户需要大量专门的搜索软件开发人才,而众多中小型网站及企业也需要垂直搜索,网站搜索,全文检索,知识库系统等非结构化数据开发软件工程师
在互联网上说门槛,就是比资源。垂直搜索也是这样,能否提供全面权威的行业信息,能否拥有行业资源是垂直搜索引擎发展的门槛。换句化说,垂直门户是垂直搜索血统最近的父亲。作为房产行业的搜房网就是一个垂直门户,在房产领域没有谁比我们更清楚什么是垂直搜索了
未来5年中,我们见到的最大变化将是人们使用电脑的方式将有所不同,移动电话将变成在互联网上寻找信息的最常见手段。到那时,大多数问题都最好通过声音进行问答。搜索引擎公司将成为日常生活中更不可或缺的部分,它们的影响力最终将对其他一些为创造或传播信息而存在的公司会产生极大的促进甚至替代性的作用。
网络时代的信息量每8个月翻一番,如今的网页以100亿来计算;网络搜索已成为仅次于电子邮件的第二大网络应用。2005年中国互联网发展状况统计报告中也指出,用户在互联网上获取信息最常用的方法中,通过搜索引擎查找相关的网站占58.2%。对于有效的搜索引擎技术的研究将具有巨大的学术及商业价值。

垂直搜索引擎是针对某一个行业的专业搜索引擎,是搜索引擎的细分和延伸,是对网页库中的某类专门的信息进行一次整合,定向分字段抽取出需要的数据进行处理后再以某种形式返回给用户。垂直搜索是相对通用搜索引擎的信息量大、查询不准确、深度不够等提出来的新的搜索引擎服务模式,通过针对某一特定领域、某一特定人群或某一特定需求提供的有一定价值的信息和相关服务。其特点就是“专、精、深”,且具有行业色彩,相比较通用搜索引擎的海量信息无序化,垂直搜索引擎则显得更加专注、具体和深入。
垂直搜索引擎原理图
什么是垂直搜索引擎 最有前途的软件开发技术搜索引擎技术 开源爬虫: Heritrix 1.14.4 安装/使用
1、整体思路
整个课程,按照一个从无到有的过程来展开。所有的数据,来自于互联网,用heritrix去抓取。对于抓取的数据,进行去重,去标签,然后利用lucene 和 solr 进行索引和搜索。如下图所示:
整个课程 的最大特点是内容新颖全面而又通俗易懂。对于实际搜索引擎所涉及的各种核心技术都有全面细致的介绍,除了作为搜索系统核心的网络爬虫、索引系统、排序系统、链接分析及用户分析外,还包括网页反作弊、缓存管理、网页去重技术等实际搜索引擎必须关注的技术,同时用相当大的篇幅讲解了云计算与云存储的核心技术原理及实现。
整个课程的另一亮点是:整个项目的构建全部采用最新技术,包括但不限于以下技术:struts 2.3.16 +spring 4.0.1 +hibernate 4.3.1+jquery-easyui 1.3.5+lucene 4.6.0+solr 4.6.0+Heritrix1.14并对其做了二次封装。为了增进学员的理解,课程大量引入形象的图片来讲解算法原理,相信读者会发现原来搜索引擎的核心技术理解起来比原先想象的要简单得多。
一、理论部分:
2.1、搭建heritrix
1.什么是网络爬虫
2.网络爬虫能做什么
3.Heritrix原理
4.Heritrix搭建
2.2、如何进行主题抓取
1.什么是主题抓取
2.主题抓取的意义
3.主题抓取的策略
4.如何用heritrix进行主题抓取
2.3、heritrix优化
1. ELFHash算法
2.关于robot.txt
3.将heritrix打包成工具
2.4、解析html页面
1.java正则表达式
2.基于模板获取网页内容
3.利用htmlparser解析html
2.5、中文分词介绍
1.Lucene自带的分词
2.ICTCLAS
3.IK
4.利用机器学习的算法识别中文文章中的领域词
2.6、网页去重
1.网页去重的意义
2.网页去重的主要方法
3.什么是tf*idf
4.基于指纹算法的网页去重
2.7、Lucene4.6快速索引与搜索
1.如何用lucene创建索引
2.如何用lucene搜索结果
3.Lucene中intfield怎么搜索
4.Lucene的结果高亮显示
2.8、Lucene4.6索引的相关操作
1.创建索引
2.修改索引
3.删除索引
4.索引优化
2.9、Lucene4.6的query、及queryparser
1.TermQuery
2.BooleanQuery
3.TermRangeQuery
4.NumericRangeQuery
5.PrefixQuery
6.PhraseQuery
7.MultiPhraseQuery
8.FuzzyQuery
9.WildcardQuery
10.queryparser
2.10、Lucene的Filter及自定义排序
1.Filter
2.Lucene自带排序及指定权重
3.Lucene自定义排序
2.11、Solr快速索引与搜索
1.什么是solr
2.为什么工程中要使用solr
3.Solr的原理
4.如何在tomcat中运行solr
5.如何利用solr进行索引与搜索
2.12、Solr的查询及Filter
1.solr的各种查询
2.solr的Filter
3.solr的排序
4.solr的高亮
2.13、Solr的facet介绍
1.solr的某个域统计
2.solr的范围统计
2.14、Solrcloud集群搭建
1.zookeeper简介
2.solrcloud集群搭建
2.15、搜索服务的工具封装
1.工厂模式
2.封装搜索服务_lucene
3.封装搜索服务_solr
4.将lucene与solr封装成可以配置的工具,可以支持任何业务系统
二、项目部分:
2.16、项目实战
1.项目需求分析及框架选择
2.Struts 2.3.16介绍
3.Struts 2.3.16整合Spring 4.0.1
4.Spring 4.0.1整合hibernate 4.3.1
5.利用jquery-easyui 1.3.5 做后台管理页面
6.Heritrix 在工程中的运用
7.封装好的搜索框架在工程中的运用
8.Flexpaper模仿百度文库
9.文件上传
10.相关代码编写
11.搜索结果优化
12.项目总结
本课程适合于各个层次的有志于从事搜索引擎技术的Java开发人员,只要求开发人员具备基础的JAVA基础及B/S开发经验即可,对于初级程序员来说,可以在短时间内迅速提高开发能力,掌握流行的技术,把握搜索引擎技术的发展脉络。对于中高级程序员来说,本课程可以在短时间内快速提升个人的搜索引擎方面的开发能力。
1 想要从事搜索引擎开发的Java技术人员
2 学习该课程你可以快速掌握到网络爬虫、中文分词、网页去重、搜索优化、大数据处理等多方面的技能
3 加强开发的内功修炼。
4 深入理解搜索引擎的原理与相关开发技术
5 掌握搜索引擎开发技术点,能够独立开发基于lucene技术的搜索系统
亮点一、对heritrix进一步封装,可以按照需求配置,单独运行。
亮点二、对lucene 4.6.0与solr 4.6.0进行封装,通过配置就可以对绝大多数的业务系统进行数据库及其文件的索引、搜索。
亮点三、对目前最新的ssh(struts 2.3.16 spring 4.0.1 hibernate 4.3.1)整合,并结合目前最新的版本的jquery-easyui 1.3.5,构建了一个完整的垂直搜索引擎。
亮点四、整个课程的理论部分,参看了大量的核心期刊论文,并针对目前中文分词,用纯java代码实现了一种基于无监督的识别方法。另外,实现了文本的特征抽取TF*IDF算法,最小编辑距离算法,文本相似度算法(传统的夹角余弦及指纹算法)。
掌握此项技术后可以从事但不限于以下职位的工作:
高级搜索引擎开发工程师
行业(垂直)搜索引擎开发工程师
搜索引擎后台开发工程师
搜索引擎Web开发工程师
网络爬虫开发工程师