基于Java技术的搜索引擎研究与实现探讨
2016-06-14朱丹丹
朱丹丹
摘要:近些年,我国经济水平的突飞猛进,使得计算机互联网的应用已经逐步普及。而在互联网的应用中,搜索引擎是人们经常会用到的工具,它可以方便快捷的让用户直接找到自己需要的东西。相比之下,以往的搜索引擎在服务和构架上已经逐渐成熟起来,但是随着互联网用户的增多,相应的,用户对搜索引擎的要求和体验感等各方面的水平也是更加严格。Java技术的搜索引擎是顺应时代所诞生的一种智能化搜素模式。该文就Java技术的搜索引擎进行了浅要的研究与实现探讨,以作参考。
关键词: Java;搜索引擎;技术体系;网络蜘蛛
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)12-0094-02
互联网上面的信息就如浩瀚宇宙中的繁星点点般,数不胜数,且非常杂乱,是毫无秩序可言的,通过网页链接将这些数据连接起来,而搜索引擎就将这些杂乱的数据理清,从中呈现给用户想要的具体信息。简单来说,搜索引擎就相当于一个数据库的存在,可以自动从互联网上搜集信息,把信息进行一定的整理以后,再让用户进行查询的这么一个系统。随着科技的发展,目前以Java技术的搜索引擎已经成为电子计算机的新宠,可以带给用户更深层次的体验,所以对于Java技术的搜索引擎进行相关研究与探讨还是很有必要的。
1 Java技术的概述
Java技术拥有良好的兼容性,这点是其他汇编语言所无法比较的,并且Java技术还具有良好的通用性和安全性[5]。调查发现,Java技术设有安全机制,能够有效的遏制某些代码的恶劣攻击,从而起到保护环境安全的作用,因此其安全性相对较高;Java技术主要是面向以支持类之间的单向继承的对象,可以在多个接口下实现多出承接,因此Java技术具备很强的强制性;Java技术十分动态化,可以依据动态环境的变化而做出相应的调整,大大提高了Java技术在软件和系统上的兼容性;Java技术的多线程在给了其应用以及系统性能的更多保障外,也增强了两者的性能,从而更优质、更高质量的服务到软件开发者和软件使用人。
2搜索引擎的搜索效果优化方式
搜索引擎优化简称为SEO,是各种搜索引擎怎么抓住互联网的界面,然后予以索引,并且对其中某个特定关键字或词的搜索结果以及排名技术的一种了解。[6]通过SEO这种搜索引擎的营销思路,提供给网站生态式自我营销方案,从而有效的优化网站,让网站成为行业的佼佼者,提升网站排名和曝光率。
1)内部链接优化
网站的内部就好比企业单位一样,其分工较细且各不相同,为了网站的协调性更好,必须保持各种不同信息传递渠道的良好畅通和更加合理的运作方式。因此,就需要将网站内部的不同部门,通过良好的方式有效关联起来,这就离不开网络优化技术的运用。企业在对自身生产的产品作介绍时,总是会面临各种各样的问题,这时单位就应该在网站建设前预想到这些问题,然后解答这些问题并且建立一个专门的界面,在界面中加入一个搜索框。这种方法不仅解放了公司的人力,更是方便了访问网站的人更好了解企业产品、从而促进与企业的业务合作。
2)网站标题优化
网页的标题对于搜索引擎在搜索企业产品的网页过程中起着重要作用。网页标题的关键字是对搜索引擎的一种引领,搜索引擎会根据网页标题的关键字对网页内容做预判。不仅如此,就算用户只是普通、随意的浏览网页,网页标题在很大程度上都可以吸引用户的注意力。网页搜索中的网页标题是对网页进行优化的一个重要内容,其密切关系着用户的搜索结果。想要更好地完成网页标题优化,就得足够重视到网页建设过程中的网页标题,并且能够依据网站页面设置的不同而选择相对应的网站标题,而不是在所有网站中都应用一个标题。在同一个网站中,网站标题也应具有一定的差异性,层次结构美观、标题内容主次分明,标题内容的选择也一定要与网站内容密切挂钩,可以更准确地反映出网页内容。这种方式可以让搜索引擎的搜素结果更加精确,有效提高网页检索结果与实际浏览内容的匹配程度,能让用户对网站的标题和内容给以更多信任和关注。同时还可以试着对网站页面的部分关键词做一个统一化设定,让企业的网站在互联网这个浩瀚宇宙中能给用户更好的识别性。
3)网站结构优化
目前市场上的企业网站构成基本是:首页、公司简介、产品、产品详细信息、招聘信息以及联系方式这些方面,从某些方面来说,这也是企业的一种宣传手段,但是与用户的互动性却明显不够,所以应该对企业网站作进一步的优化。
3 Java技术搜索引擎的实现
3.1 网络开发的环境
网络蜘蛛、索引器和搜索器这三方面直接关乎Java技术搜索引擎的实现,其对搜索引擎基本功能的完善也起着一定作用[2]。因此,就从以下几个方面入手来研究对于Java技术搜索引擎的实现需要具备哪些方面的因素。
1)套接字类
把网络蜘蛛运用到Java技术互联网的连接中能够有效做好网页抓取工作,把它和Web服务器通信进行连接,然后通过网页完成下载。Java技术可以提供多种互联网连接类,一般的连接类中,一种是套接字类,套接字类应用在所有连接网络的计算机中,以方便促使计算机程序生效。通常网页中使用的每台计算机都有套接字,,这些套接字被称为端口,且有相应的编号,在每台计算机中,服务器都会对某一端口号进行连接工作,包括其中的客户端也是,都要通过某一端口号进行连接。套接字类中的重要组成部分有Socket以及Server Socker,客户端中所用到的Socket类通常用于客户端套接字的声明,而Server Socker则是用在服务端套接字声明,以此形成一个点到点的连接。
2)URL类
另一种则是和URL连接在一起的URL类,URL类的应用,主要是为了解析URL,URL类还能被拆分成几个部分,确定好URL的创建对象后,就能够完成主机名以及路径解析,并且URL类还能够连接开启某些地址,从而在URL中获得相应的检索能力。
3)Java技术中文处理
程序开发时,常常会发生汉字乱码的情况,且被网页抓取、索引以及搜索。这种问题的发生多半都是字符编码出了差错。在事先设置好正确编码后,Java技术便能够做好汉字支持工作。汉字属于双字节,也被称为高位和低位,我国的汉字编码被规定为GB2312,现在的中文处理软件都支持GB2312。GB2312里有9个区的符号和一二级汉字之分,并且不管高低位都是从OXal到OXfe,汉字的编码范围则是从OXboal到OXf7fe。
4)Java多线层机制
Java多线程机制可以充分帮助到网页抓取、索引及搜索工作效率的提升,线程是后台执行程序的一部分,程序其他的部分依然可以继续运行,因此,若是要建立Java技术线程的前提是必须明确后台执行代码,这就需要通过两种办法。
① 确定继承好Thread对象并用其完成封装线程工作,通过Thread类的run制定出我们所需要的线程代码,但是Java并不支持多继承,当其中的某个类需要继承其他类时,此种方法就难以被运用。
②依据Java确定好Runnbale接口,并在接口中建立好run方法,Java支持多接口的同时运行,便不会受到第一种方法的限制。Java的接口在程序运行时会根据自定义的方法实现我们所需要的工作方法。因此,当接口执行时,其中须得存在相对应的方法。
5)JDBC的应用
通过DBMS完成维护好网页列表工作,用合理的方式驱动站点队列,就能大量提升网络蜘蛛访问网站的量,用JDBS做好SQL的提交工作,这样可方便用命令的形式操控数据库。但是在进行操作时,就需要通过importa jva.sql.*导入好语句,然后连接对象,其连接对象直接关系到DBMS,这是最高层次的环节。接下来就是确定statemnet对象,它是相对独立的SQL语句,属连接对象。
3.2 网络蜘蛛的实现
网络蜘蛛程序的编写离不开接口和类的构建,网络蜘蛛的程序里有三个类和两个接口[4]。
1)Spider类
Spider类一共有三个作用,首先,Spider类所为Spider的接口提供了如何使用Spider的方法;其次,向启动Spider的对象报告Spider发现的界面;最后,确定好Spider的工作进度,Spider类允许将Spider的操作用两个附加的类定制化。分别是由ISpiderReportable以及IWorkloadStorable这两个接口定义以上的两个附加类[1]。
2) ISpiderReportable接口
Spider把由ISpiderReportable接口定义的几类时间送回它的控制器,然后在控制器中再对这些进行处理。想要对这些页面做处理,就需要执行ISpiderReportable接口的类,然后取回Spider找到的页面。
3)IWorkloadStorable接口
Spider组织要访问的站点的列表,此接口定义一个对象,可以存储或者取回作业中的页面。IWorkloadStorable接口就是用于定制化Spider行为。
4)SpiderWorker类
Spider程序下载Web站点,然后把页面上的链接添加到作业中,这便是由SpiderWorker完成的,当启动Spider程序时,就会建立出一个相当于线程池的SpiderWorker类池,Spider找到的画面由每个线程同时处理。
5)SpiderDone类
SpiderDone类的目的就在于,想要知道在多个线程同步运行的情况下,Spider工作的完成度有些困难,这时可用一个对象对还在运行的线程数量进行跟踪,数量如果变为零了,也就代表着Spider工作的结束。
3.3 Lucene的实现
Lucene可以通过Java类有效完成应用程度里需要的各种索引以及搜索,Lucene是一种性能较高,且扩展方便的Java类库,将Lucene与Java技术相结合,能够很好地进行跨平台操作。
4 结束语
综上所述,目前,我国互联网的发展已经日趋成熟,而搜索引擎是互联网的重要组成部分,其对于用户更好的体验、使用互联网起着关键作用。Java为搜索引擎提供了很重要的技术支持,Java技术搜索引擎也必然会成为未来互联网的搜索引领。文中对Java技术的搜索引擎的基本理念和功能以及在其实现上做了简要分析与研究。而如何将这一技术更好地运用到网络世界中,给用户带去更优质的体验和服务,都还需要进一步的探讨与实践。
参考文献:
[1] 焦蕾,殷锋社.基于JAVA技术的搜索引擎的研究与实现[J].电子设计工程,2012(7):34-37.
[2] 徐英.基于Java技术的搜索引擎研究与实现[J].信息与电脑:理论版,2014(9):20-21.
[3] 伏汉英,黄永忠,陈新,等.一种基于Java的元搜索引擎的设计与实现[J].信息工程大学学报,2004(4):42-45.
[4] 罗忠琦.Java技术的搜索引擎研究与实现[J].信息通信,2016(1):144-145.
[5] 杨金.基于JAVA技术的搜索引擎研究[J].中国新通信,2015(13):110.