资讯内容采集系统(公用商业网络上的搜索引擎检索结果不具有个性化,难以满足企业需求)
优采云 发布时间: 2021-12-01 11:20资讯内容采集系统(公用商业网络上的搜索引擎检索结果不具有个性化,难以满足企业需求)
摘要:公共商业网络搜索引擎的搜索结果不个性化,难以满足企业需求。本文借助开源搜索引擎Nutch,不仅实现了搜索引擎的基本功能,还扩展了其功能,实现了企业对搜索引擎的个性化定制。
关键词:搜索引擎;开源;个性化定制;
摘要:公务网搜索引擎的搜索结果不够个性化,难以满足企业需求。本文基于开源搜索引擎“Nutch”,实现了搜索引擎的基本功能,并对其功能进行了扩展,以满足企业对搜索引擎的个性化定制需求。
关键字:搜索引擎;开源;个性化定制;
1、 简介
搜索引擎是一个系统,它采集和组织互联网上的信息资源,然后使其可供查询。包括信息采集、信息整理、用户查询三部分。搜索引擎经历了近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)信息来源
即用户感兴趣的网站站点。比如用户关心的站点是省公司网站和主要地市分公司网站,那么这些站点是设置为监控站点,每个站点可以有多个URL信息监控。
(2)内容展示
同一信息源的信息显示在一个模块中,并按信息发布时间排序。最新信息显示在顶部,方便用户及时浏览。
(3)内容定制
用户可以同时自定义多个站点的内容,将自己关心的内容整合到个人信息门户中。用户可以根据自己的需要选择感兴趣的站点。
(4)个人信息门户
个人信息门户的内容可以由用户根据需要自由布局。用户自定义的各个站点的信息显示在portlet模块中,用户可以进行添加、删除等操作。页面的布局信息存储在后台数据库中。
3. 系统架构设计
3.1、系统级
为实现系统的各项功能,对系统进行有序的系统级设计,然后精心深化第一级,如表1所示。
表1 系统级设计简表
3.2、系统功能模块
搜索引擎中有爬虫模块(Crawler)和搜索模块(Searcher)。爬虫模块用于抓取互联网上的网页,以便对这些网页进行索引;搜索模块利用索引检索用户的搜索关键词,得到搜索结果[4]。这两部分之间的接口是索引模块。除索引模块外,爬虫模块与搜索模块的耦合度较低。爬虫模块和搜索模块分离的意义在于让两部分能够分布在硬件平台上。
扩展功能模块包括选择搜索结果按相关性或时间排序的能力、搜索结果的聚类、提供网页搜索和文档搜索的自定义选项、信息集成和个人信息门户等功能。
4、系统实现
为企业实现搜索引擎,必须依次安装一些软件。需要安装的软件包括JDK、Nutch、Tomcat、IIS、MySQL等。
4.1、 基本功能实现
(1)爬虫部分实现
使用 Nutch 抓取网络。Nutch爬虫有两种爬行方式: ○1 内网爬行。对于少量网站,使用crawl命令。○2 爬取整个互联网。使用注入、生成、获取和更新的命令。
爬取信息有两种方式,即累积爬取和增量爬取。累积爬取是指从某个时间点爬取系统允许存储和处理的所有网页。增量爬取是指在一定规模的网页采集的基础上,利用更新数据的方法,在现有采集中选择过时的网页,确保抓取到的数据与互联网上的数据一致。大约[5]。
(2)部分索引实现
索引过程的实现包括三个部分: ○1 将数据转换为文本。即使用各种文档解析器将富媒体文档转换为纯文本。○2 分析课文。即去掉一些使用概率高但没有实际意义的词,如“的”、“和”。○3 将分析的文本存储在数据库中[6]。索引库的建立如图1所示。
图1 索引库建立
(3)搜索部分实现
流程如下: ○1 HTTP 服务器接收用户发送的请求,构建搜索处理器;○2 搜索处理器对句子进行轻微处理,并将搜索词(词条)转发到运行索引搜索器的机器。○3 从得到的结果中找出更好的结果返回给用户的显示界面。
4.2。扩展功能的实现
(1) 按相关性或时间排序
选择排序方式的核心代码如下。
(2)以簇的形式显示结果
在设计好的搜索入口界面,添加“聚类”复选框,如图2所示。
图 2 使用聚类功能搜索
集群显示搜索结果的核心代码如下。
在 Search.jsp 中:
执行这段代码后,如果用户选中了“clustering”复选框,则Search.jsp 中clustering 的值变为“yes”。
然后通过下面的语句调用cluster.jsp进行处理。
其中clusterer中的clusterHits方法是Nutch自带的功能。System.currentTimeMillis() 是一种用于读取当前时间的系统方法。使用这种方法的目的是为了满足本次搜索的耗时计算。如果集群操作失败,异常会被try...catch的catch部分捕获,防止出错。
(3)信息整合和内容定制功能
该功能使系统能够根据搜索过程中自动捕获的信息对获取的各种信息进行分类整合,实现信息整合。比如在页面上,可以整合从上级公司、本公司、下属公司等搜索到的不同相关内容,分块展示在页面上。为实现信息整合和内容定制功能,首先在搜索门户首页添加“个性化首页”链接,如图3所示。
图 3 个性化搜索
5. 结论
借助开源搜索引擎Nutch,构建了面向企业的搜索引擎,使其能够实现搜索的基本功能,并在Nutch的基础上编写源代码对其进行扩展,使其能够实现企业需要的几个具体功能。包括:可以选择按相关性或时间对搜索结果进行排序;以簇的形式显示结果;信息整合和内容定制功能。
参考
[1]熊晓峰. 搜索引擎算法演化的四个阶段。计算机与网络, 2018(19):46-47
[2] 张伟峰,徐宝文,周晓宇,等。元搜索引擎结果生成技术研究[J]. 小型微机系统,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