基于Lucene4.6+Solr4.6+Heritrix1.14+S2SH实战开发从无到有垂直搜索引擎
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最有前途的软件开发技术——搜索引擎技术
搜索引擎作为互联网发展中至关重要的一种应用,已经成为互联网各个领域的制高点,其重要性不言而喻。搜索引擎领域也是互联网应用中不多见的以核心技术作为其命脉的领域,搜索引擎各个子系统是如何设计的?这成为广大技术人员和搜索引擎优化人员密切关注的内容。
随着互联网行业兴起,大数据时代的到来,搜索引擎开发成为一项极富含金量的工作,市场对搜索软件开发工程师的需求极其旺盛。大型搜索门户需要大量专门的搜索软件开发人才,而众多中小型网站及企业也需要垂直搜索,网站搜索,全文检索,知识库系统等非结构化数据开发软件工程师
在互联网上说门槛,就是比资源。垂直搜索也是这样,能否提供全面权威的行业信息,能否拥有行业资源是垂直搜索引擎发展的门槛。换句化说,垂直门户是垂直搜索血统最近的父亲。作为房产行业的搜房网就是一个垂直门户,在房产领域没有谁比我们更清楚什么是垂直搜索了未来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并对其做了二次封装。为了增进学员的理解,课程大量引入形象的图片来讲解算法原理,相信读者会发现原来搜索引擎的核心技术理解起来比原先想象的要简单得多。
本课程适合于各个层次的有志于从事搜索引擎技术的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开发工程师
网络爬虫开发工程师
学完此门课程后,您也可以参与或独立完成具有以下功能的企业级应用:
一、桌面搜索引擎开发

二、百度文库类资源库项目
三、开发自己的搜索门户

四、利用网络爬虫抓取数据

一、Q: 这门课程我没有基础可以学吗?
A:不行,学习这门课程必须得具体Java语言基础,会使用SSH框架开发B/S应用
二、Q:这门课程适合于哪些人?
A:本课程适合于各个层次的有志于从事搜索引擎技术的Java开发人员,只要求开发人员具备基础的JAVA基础及B/S开发经验即可,对于初级程序员来说,可以在短时间内迅速提高开发能力,掌握流行的技术,把握搜索引擎技术的发展脉络。对于中高级程序员来说,本课程可以在短时间内快速提升个人的搜索引擎方面的开发能力。
三、Q:课程涉及到哪些技术,版本是多少?
A:课程涉及到以下技术,且都是目前最新版本:
1. lucene 版本是4.6.0
2. solr 版本是4.6.0
3. Heritrix 版本是1.14
4. Struts 2.3.16
5. Spring 4.0.1
6. Hibernate 4.3.1
7. jquery-easyui 版本是1.3.5
更多免费资料视频分享请加群106537671
四、Q:学完这个课程后,可以从事哪些方面的工作?
A:学完这个课程后,可以从事以下方面的工作,包括但不限于:
高级搜索引擎开发工程师
行业(垂直)搜索引擎开发工程师
搜索引擎后台开发工程师
搜索引擎Web开发工程师
网络爬虫开发工程师