- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Heritrix和Sphinx的购物比较搜索引擎研究
基于Heritrix和Sphinx的购物比较搜索引擎研究 基于Heritrix和Sphinx的购物比较搜索引擎研究
随着网络商品的极大丰富和分类的细化,搜索引擎已成为购物信息的重要来源。比较购物搜索引擎是一种基于专业化的垂直搜索引擎,通过对电子商务网站或者部分实体店的商品信息进行采集和整理,向消费者提供特定准确的商品信息及相关辅助设施,减少信息不对称,优化购买决策;同时,帮助商家降低推广成本获得针对性极高的目标用户,是未来网络购物搜索的发展趋势。然而,目前国内的比较购物引擎普遍追求“大而全”,在细化用户需求和购物体验上较为欠缺。商品信息比较偏重价格方面,对影响购物体验的其他因素,诸如商家信誉、折扣降价、用户评价、退换条款等较少涉及。本文提出采用Heritrix和Sphinx技术搭建购物搜索引擎,将国内大型B2C网站作为爬取信息来源,运用聚焦爬虫技术将目标定为抓取与用户某一特定体验主题内容相关的网页,以期更好的细分消费者人群,有针对性地满足用户体验。
一、Heritrix和Sphinx技术特点
Heritrix工作原理
Heritrix是一款基于java 语言开发的开源网络爬虫,用于对网上的资源进行归档,建立网络数字图书馆,目前已经建立了400TB的数据。
Heritrix爬虫每次只对一张网页的内容深度复制,包括获取图像以及其它非文本内容,抓取并存储相关的内容。具体筛爬过程中,爬虫先从队列中取出下一个URL,通过HTTP协议将对应的网页爬取下来,然后解析内容,并且提取出包含的URL,将其中新发现的URL追加到队列中。最后将网页存放到本地磁盘的网页库中。爬取过程在积累到一定数量网页时即可终止,或者在队列为空的时候终止。
工作原理
Sphinx是一个基于SQL的全文检索引擎,本系统所采用的是基于Sphinx研发并独立发布的Coreseek,是一款专攻中文搜索和信息处理的中文全文检索/搜索软件,它适用于行业/垂直搜索、论坛/站内搜索、数据库搜索本文由论文联盟http://收集整理、文档/文献检索、信息检索、数据挖掘等应用场景。Sphinx整个系统主要由索引建立和维护程序、查询服务程序 、辅助工具程序三大部分组成。
二、比较购物搜索引擎系统构建
系统架构
系统整体架构由四部分组成:1)由Heritrix扩展而来的爬虫系统,负责从互联网抓取商品相关的信息。2)MySQL数据库,存储由Heritrix抓取的数据。3)Sphinx全文索引服务器,负责对商品建立全文索引。4)Tomcat服务器,负责向客户端提供搜索服务。具体系统整体架构图如图1。
在初始化阶段,Heritrix任务需事先通过配置和测试,确认后可由Linux系统通过Cron来自动调度。根据用户输入的商品信息,网络爬虫的每个抓取任务只负责单个购物网站数据的抓取,但每个任务的线程数量可由实际情况进行调整。筛爬启动和结束时间通过Bash脚本来监控,每隔一定的时间去检测相应的进程是否已经结束,如果某个抓取任务结束,则设定好下一次启动的时间间隔。在本文构建的模型中采用MySQL数据库存储筛爬的信息,但直接从MySQL数据库生成全文索引读取比较费时,因此采用基于SQL的全文检索引擎Sphinx结合MySQL,以“主索引+增量索引”的模式,大部分的搜索都集中在Sphinx全文索引中,少量数据可能需要直接访问MySQL数据库,这样可以使应用程序更容易实现专业化的全文检索。具体运行过程中通过Cron设定计划任务,每隔一定的时间,Sphinx会从MySQL数据库生成增量索引,然后执行主索引和增量索引的合并,并且在后台操作过程中,一直可以向客户提供搜索服务。
数据存储模型的建立
目前各种购物平台和测评网站给出的商品信息异常复杂,每个网站的页面都有自身特定的格式,相同商品在不同网站上也不尽相同,尤其是不同类型的商品在属性上差异极大,因此, 需要建立统一的数据模型存储数据,也即通过多张表能够描述各种类型商品的基本属性,而不需要针对每种商品建立不同的存储表。本设计中构建了商品表、商品别名表、品牌表、信息采集表、信息采集元数据表、商品路径表、网站表、店铺表和商品类别表等一系列数据模型。以商品信息表为例,如表2-1所示。
表2-1 商品表
字段名 定义类型 特性 说明
id bigint unsigned 自增、主键 商品id
name varchar 非空、全文索引 商品的名字
brand_id bigint unsigned 外键 品牌id
instance_id varchar 非空 ISBN,ISRC,型号等
is_unique bool 非空 是否唯一
dateti
文档评论(0)