学术堂首页 | 文献求助论文范文 | 论文题目 | 参考文献 | 开题报告 | 论文格式 | 摘要提纲 | 论文致谢 | 论文查重 | 论文答辩 | 论文发表 | 期刊杂志 | 论文写作 | 论文PPT
学术堂专业论文学习平台您当前的位置:学术堂 > 图书档案学论文 > 搜索引擎论文

企业搜索引擎系统的功能、构架与实现

来源:福建电脑 作者:张燕琴;潘利强
发布于:2020-10-22 共3486字

  摘    要: 公用商业网络上的搜索引擎检索结果不具有个性化,难以满足企业的需求。本文在开源搜索引擎Nutch的帮助下,不仅实现了搜索引擎的基本功能,还将其功能进行了扩展,实现了企业对搜索引擎的个性化定制。

  关键词: 搜索引擎; 开源; 个性化定制;

  Abstract: The search results of public business networks search engine are not personalized, which is difficult to meet the needs of enterprises. Base on “Nutch”, an open source search engine, this paper realizes the basic functions of the search engine, and extends its functions to meet the personalized customization requirements of search engine for enterprises.

  Keyword: Search Engine; Open Source; Personalized Customization;

  1、 引言

  搜索引擎(Search Engines)是对互联网上的信息资源搜集整理,然后供查询的系统。它包括信息搜集、信息整理和用户查询三部分。搜索引擎经历近30年的发展,目前在使用的有几种类型,如全文搜索引擎、分类目录搜索引擎、多元搜索引擎、集成搜索引擎等。但这些都是网络上的公用商业搜索引擎,它们往往不能满足企业的需要。因此,本文主要研究为企业设计专门的搜索引擎。

  2、 系统功能分析

  系统建设的目标采用成熟、稳定、可靠的平台,实现对网上信息的自动收集,提供方便的检索服务,使用户可以根据关键字查询方式获取所需的相关信息。系统还应包括动态资讯集成和个人信息门户。动态资讯集成模块可以随时将用户关心的信息进行集中展现,避免了登录不同网站带来的麻烦。个人信息门户模块采用Web2.0技术,实现了信息定制,能够将信息个性化地呈现给用户。

  2.1、 信息采集

  (1)网页搜索功能

  本部分的主要功能是根据后台的配置参数进行内网搜索和外网搜索。
 

企业搜索引擎系统的功能、构架与实现
 

  内网搜索是指搜索范围仅限于公司的内部网络的搜索。由于有些信息是公司内部所独有的,所以把搜索范围限定在内网,可以方便用户更快更准确地查找并获得所需的信息。

  外网搜索是指搜索范围为公司内部以外的网络的搜索。外网搜索的范围更广,得到的信息面更宽。外网搜索为用户提供了较大的信息选择范围。

  (2)文档搜索功能

  系统提供文档服务器的文档资料索引,使得用户可以搜索公司内部的不同格式的文档资料。可搜索的文档格式包括pdf、word、excel、txt等格式。本功能可以为用户撰写材料,编写计划提供充足的参考资料。

  2.2、 搜索服务

  (1)提供简洁的用户界面

  系统应具有单选、多选按钮,应可以实现分类检索功能。

  (2)搜索结果聚类功能

  系统需提供对搜索结果聚类的功能,对搜索结果中的相似页面按其主题进行聚类,以方便用户的浏览,为用户查询提供更好的支持[1]。

  (3)可以选择按相关度或按时间排序

  有时用户搜索时希望找到与搜索关键词关系最紧密的信息;但有时用户希望了解最新的相关信息。为此,应设计可以选择按相关度或按时间排序的功能。

  用户选择按相关度搜索时,搜索到的与输入关键词关系最密切的条目排列在最前面,以下条目依次按相关度递减排列。用户选择按时间排序时,最新的信息应排列在最前面,以下依次按时间倒序显示搜索到的条目[2]。

  (4)系统支持高级搜索方式

  系统需支持更多的搜索条件和灵活的条件组合。具体包括限定搜索结果的数目,限定搜索文档的格式和搜索结果中页面的时间,以及限定IP搜索等[3]。

  2.3 、资讯集成

  用户经常需要访问不同的网站以确定是否有新的信息出现。随着网站数量的不断增长,这一过程变得相当耗时和低效。为了方便用户快捷地浏览各网站最新发布的资讯,系统应提供资讯集成服务,将用户感兴趣的信息集中显示在一个页面上,并实时进行内容的更新。资讯集成功能包括以下几部分:

  (1)资讯源

  即用户感兴趣的网站站点。比如用户关心的站点为省公司网站以及主要地市分公司的网站,则将这些站点设置为被监视的站点,其中每个站点可以有多个网址的信息监视。

  (2)内容展现

  同一资讯源的信息集中在一个模块显示,并按信息发布的时间先后进行排序。最新发布的信息显示在最前面,方便用户及时浏览。

  (3)内容定制

  用户可以同时定制多个站点的内容,将其所关心的内容整合到个人信息门户中。用户可以根据自己的需求选择感兴趣的站点。

  (4)个人信息门户

  个人信息门户的内容可以由用户根据需要自由布局。用户定制的每个站点的信息集中显示在一个门户组件模块中,用户可以对其进行添加、删除等操作。页面的布局信息存于后台数据库中。

  3 、系统架构设计

  3.1 、系统层次

  为了实现系统的各种功能,先对系统进行有序的系统层次设计,再将第一层次进行细致深化,如表1所示。

  表1 系统层次设计简表
表1 系统层次设计简表

  3.2 、系统功能模块

  搜索引擎中有爬虫模块(Crawler)和搜索模块(Searcher)。爬虫模块用于从网络上抓取网页,以便为这些网页建立索引;搜索模块利用索引检索用户的查找关键词来获得查找结果[4]。这两个部分之间的接口是索引模块。除了索引模块,爬虫模块和搜索模块之间的耦合度较低。爬虫模块和搜索模块分开的意义是使两部分可以分布式地配置在硬件平台上。

  扩展功能模块包括可以选择搜索结果以相关度排序或时间排序两种排序方式、搜索结果聚类、提供网页搜索和文档搜索的自定义选项、资讯集成与个人信息门户等功能。

  4 、系统实现

  要实现面向企业的搜索引擎,首先要依次安装一些软件。要安装的软件有JDK、Nutch、Tomcat、IIS、MySQL等。

  4.1、 基本功能实现

  (1)爬虫部分实现

  用Nutch来爬行网络。Nutch的爬虫有两种爬行方式:○1爬行企业内部网(Intranet Crawling)。针对少数网站进行,用crawl命令。○2爬行整个互联网。使用inject、generate、fetch和updatedb命令。

  抓取信息有两种方式,分别是累积式抓取(cumulative crawling)和增量式抓取(incremental crawling)。累积式抓取是指从一个时间点开始,通过遍历的方式抓取系统所能允许存储和处理的所有网页。增量式抓取是指在已经具有一定量规模的网络页面集合的基础上,使用更新数据的方法挑选已有集合中的过时网页抓取,以保证抓取到的数据和网络上的数据相近似[5]。

  (2)索引部分实现

  索引过程的实现包括三部分:○1把数据转化成文本。即使用各种不同的文档解析器,把富媒体文档转化为纯文字形式。○2分析文本。即去掉一些使用概率很高但并无实际意义的词,如“的”、“和”。○3把分析过的文本存储到数据库中[6]。索引库的建立如图1所示。

  图1 索引库建立
图1 索引库建立

  (3)搜索部分实现

  按照如下流程处理:○1 HTTP服务器收到用户发送来的请求,构建搜索处理器;○2搜索处理器对语句稍作处理后,把搜索的项(terms)转发到运行索引搜索器的机器上。○3从获得的结果中查找出较好的结果,为用户返回显示界面。

  4.2 、扩展功能实现

  (1)按相关度或按时间排序

  选择排序方法的核心代码如下。

  (2)以聚类方式展示结果

  在设计的搜索入口界面上,加上“聚类”复选框,如图2所示。

  图2 具有聚类功能检索
图2 具有聚类功能检索

  以聚类方式展示搜索结果的核心代码是以下几部分。

  Search.jsp中:

  这句代码执行后,如果用户勾选了“聚类”复选框,则在Search.jsp中,clustering的值变为“yes”。

  然后,通过如下语句,调用cluster.jsp加以处理。

  其中,clusterer中的clusterHits方法为Nutch的自带功能。System.currentTimeMillis()是用来读取当前时间的系统方法。使用此方法的目的是用来满足计算本次搜索的耗时。如聚类操作失败,则将由try...catch中的catch部分捕获异常,使其不致产生错误。

  (3)资讯集成和内容定制功能

  本功能可使得系统能够根据搜索时自动抓取的信息,将获得的各种信息分类整合到一起,实现资讯集成。如在页面上可整合从上级公司、本公司、下级公司等处搜索到的不同相关内容,并集中分块展现在页面上。为实现资讯集成和内容定制功能,首先在搜索入口主页面上添加“个性化主页”链接,如图3所示。

  图3 个性化检索
图3 个性化检索

  5 、结束语

  在基于开源搜索引擎Nutch的帮助下,构建一个面向企业的搜索引擎,使之能够实现搜索的基本功能,并在Nutch基础上编写源代码加以扩展,使其能够实现企业要求的若干特定功能,这包括:可以选择对搜索结果按相关度或按时间排序;以聚类方式展现结果;资讯集成和内容定制功能。

  参考文献

  [1]熊啸锋.搜索引擎算法演变的4个阶段揭秘.计算机与网络,2018(19):46-47
  [2]张卫丰,徐宝文,周晓宇,等.元搜索引擎结果生成技术研究.小型微型计算机系统,2003(24):34-37
  [3]刘波.计算机搜索引擎智能化技术探析.现代信息科技, 2019(5):102-104
  [4]陈荣华,杨蓓.门户网站搜索引擎优化策略研究.电脑知识与技术,2018(33):173-174
  [5]周文瑜.基于元数据的搜索引擎的设计与实现.信息与电脑(理论版),2019(20):50-51,58
  [6]张卫丰,徐宝文.基于WWW缓冲的用户实时兴趣搜索模型.计算机学报,2007(27):461-470

作者单位:泉州轻工职业学院素养培育学院 泉州轻工职业学院金龙商学院
原文出处:张燕琴,潘利强.面向企业的搜索引擎的研究与实现[J].福建电脑,2020,36(08):91-94.
相关标签:
  • 报警平台
  • 网络监察
  • 备案信息
  • 举报中心
  • 传播文明
  • 诚信网站