摘要:本论文设计了一个提供附近商店的搜素、商店内商品的搜素与商品的订阅追踪的系统。使用该系统用户也能增加自己的实体商店与商店内商品的信息到系统中。使用该系统能很好的把线上流量和线下消费资源相结合。
关键词:LBS; 电子商务; 搜索引擎;
引言
如何在众多LBS服务上使使用者找到想要的信息成为LBS搜索引擎的重大挑战之一。使用者需要更准确的搜索结果, 一般搜索引擎已经不能满足使用者的需求, 此时, 针对特定领域优化, 以提供特定搜索结果的垂直搜索引擎, 就慢慢发展起来。
目前的在LBS服务, 使用者能方便寻找附近的商店, 但是要从各个商店中找到需要的商品与价钱的比较, 就非常地耗时与不容易, 使用者如何在LBS中快速而且正确地找到自己需要的商品以及能随时得到关注的商品的最新信息就成为了一个重要的议题。
通过本系统的设计, 能够让使用者迅速找到合适的商品, 并且提供各个商店的商品追踪。在商品的搜索引擎中, 我们先对商店提供的大量商品资料, 依照定义的类别做预先处理与分类。在多样的商品中, 最后呈现给使用者的是吻合搜索条件商品的地理信息且经过分群的搜索结果。
1、背景知识
1.1 搜索引擎
搜索引擎的主要设计大致可分为:Crawler、Preprocessing and Mining、Index和UserInterface。
1) Crawler:网络页面资料的搜集是通过Crawler的自动化程序来抓取, 也被称为网页Robot。一开始设定起始的网址, crawler会去抓这些网页存放到后端, 并从已抓取的网页中取出需要的其他网页连结, 再根据这些网页连结抓取其他的网页, 这样就能大量搜集网络上的网页资料。
2) Processing and Mining:网页资料搜集完后, 对资料进行分析, 找出需要的部分, 并对这些资料依种类去做不同处理。
3) Index:处理抓取完的网页后, 会对这些资料产生index, 加快网页资料内容查询的速度。在网页资料量不大时, 能够采取简单的sequential搜索, 但是当资料量变大时, 会在资料上建立额外的资料结构以加快搜索, 这些就称为index, index就像一个查询表, 给定一个关键字就能通过index得知所有出现关键字的网页与位置。
4) UserInterface:前端的使用者界面负责对使用者下的搜索字符串做处理, 并且呼叫内部搜索程序通过index来找寻符合的资料, 然后将查询到的资料, 产生搜索结果页面显示。
1.2 Google Map JavaScript API
Google Maps JavaScript API可以让Google Map嵌入至网页中, 在v3版本中的API能够提供每日25000次地图的载入, 如果超过限制连续90天才会受到限制, 但是非营利组织通过申请Google Earth Outsearch授权后可以不受使用限制的约束。
API除了提供地图显示的服务之外, 还有导航、距离矩阵、海拔高度、地理编码、街景等服务。
1.3 Google place API
用于在给定的范围找到详细的地方信息, 与Google MAP和Google+Local使用相同Database。提供Place Search、Place Detail、Place Photo等服务。
2、系统简介
2.1 系统架构
本系统架构主要是依循LAMP架构, 分成以下几个部分:
1) Google API:负责提供地理位置编码处理与部分商店资料。
2) Web User Interface:负责前端的界面显示。
3) Subscription System:负责商品订阅与管理。
4) MySQL:负责商店资料、商品资料、用户资料和Index的存储与查询。
5) SearchEngine:负责收集商店资料、处理商店资料和建立Index索引。
2.2 商店搜索引擎
商店搜索引擎在设计上大致可分为三个部分:第一部分是商店资料的搜集;第二部分是商店资料的解析与撷取;第三部分是建立Index索引与搜索。以下说明各部分之间的关系与功能。
(1) 商店资料的收集
搜索引擎最重要的第一步就是资料的搜集, 对于商店搜索引擎来说, 不需要目标网站上所有的网页, 只需要特定含有商店资料的网页, 所以为了要提高搜集资料的准确性会按照人工指定的起始网址开始搜集, 再从中寻找其他的商店资料网址, 这样也方便定期去更新搜集目标网站的商店资料网页。
(2) 商店资料的解析与提取
搜集到商店资料的网页后, 因为网页中有许多的广告, 链接与评论, 这些都是不需要的资料, 所以会对网页进行解析后提取需要的商店资料。解析出来的商店资料由于需要地理坐标编码, 所以还需要通过Google Map API询问。
商店资料的来源除了通过Crawler在网络上搜集之外, 也可以使用Web User Interface中的商店注册服务来增加商店。使用者需要在注册网页输入账号、密码、电子邮件、商店名称、商店地址、商店电话、商店分类、商店照片和商店叙述进行注册。
商店地址在输入后会显示在Google地图上, 使用者可以通过地图旁边的经纬度栏来调整以后出现在Google地图上的确切位置, 而商店照片上传后会通过GraphicMagick进行处理压缩。
成功注册后在Server端建立商店个人文件夹, 与商店有关的资料都会存放在此, 包含商店照片、商品照片、商品文件夹等资料。
(3) 建立Index索引与搜索
解析完商店资料网页后所得到资料与网址连结Index会储存在MySQL中。解析网页提取出商店资料后会建立Index。在这里Index是用来确保Crawler搜集的商店不会重复。
2.3 商品搜索
商品搜索是要提供使用者搜索附近哪间商店有销售使用者输入的关键字的商品。
(1) 商品资料来源
由于是实体商店上的商品, 必须依靠商店管理者自行上传商品。商店使用者需要先登入网站后, 才能在商品上架网页输入商品产地、商品价钱、厂商、商品名称、商品产地、服务电话、商品分类、商品照片和商品叙述进行上架。
商品照片会通过Plupload上传后, 再通过Graphic Magick进行处理压缩, 而成功上架后会在Server端的商店个人文件夹中建立商品文件夹, 与商品有关的资料都会存放在此, 包含商品照片、商品订阅清单等资料, 并且会在MySQL中建立商店个人商品表。
(2) 商品搜索流程
使用者进行商品查询时, 会先透过Google Map API将欲搜寻的商品所在地址转成地理坐标编码, 再跟搜寻商品关键字、商品分类、排序条件一起传到后端后, 透过MySQL先把符合条件的附近商店资料取出, 再从中找到每个商店内符合的商品资料。
将最后搜寻结果以JSON格式回传给使用者端。另外, 还会把搜寻时用的地理坐标编码储存起来, 让Google Crawler之后能够进行更多商店的搜集。
当使用者端接到JSON格式的搜索结果后, 会将结果解析, 把商店位置标记在Google地图上, 并且对这些标记绑上点击事件与显示窗口。当点击Google地图中的标记后, 会跳出一个信息窗口, 窗口中会显示商店简介与搜索此商店内中所有商品的网页连结。
除此之外, 会在地图外面插入一个结果页面, 将搜索结果显示出来, 如同标记一样会绑上点击事件, 当选择的商店结果被点击后会把标记在Google地图上的信息窗口调出, 并且会在商店结果页面上再插入一个此商店内商品结果页面, 将符合关键字的商品按照排序条件列出, 同样也对这些商品结果绑上点击事件, 当选择的商品结果被点击后会再插入一个此商品的简介页面。 (如图1所示)
图1 商品搜索流程
2.4 商品订阅与管理
提供使用者对有兴趣的商品进行订阅追踪, 当商店管理者对商品资料进行改变后, 可以主动通知使用者, 让使用者随时能得知最新的商品信息。
(1) 订阅流程
一般使用者注册后即可以使用订阅服务, 在登入后查看商品搜索结果的页面时, 每样商品就都会附一个订阅按钮, 按下订阅按钮后, 会将要求送到后端, 后端会先检查商品专属的订阅清单, 如果存在的话, 会从中查询此使用者有无在该订阅清单中, 有的话就取消要求, 没有的话会新增使用者到该订阅清单中, 并且接着检查使用者有无使用过订阅服务。如果商品专属的订阅清单不存在的话, 会建立商品订阅清单到server端, 再接着检查使用者有无使用过订阅服务。使用者第一次使用订阅服务的话, 会在server端建立个人订阅清单与提供该商品的商店栏位, 将商品编号增加到该清单中的商店栏位里;如果不是第一次的话, 会查询是否已经订阅过提供该商品的商店内其他的商品, 有的话就新增商品编号到清单中的该商店栏位, 没有的话就新增商店栏位再加入商品编号。
(2) 管理流程
一般使用者在注册后即可以使用订阅服务, 而使用者有订阅商品时, 会需要一个能够管理订阅清单的服务。当一般使用者按下订阅管理的连结后, 会将要求送到后端, 后端会先检查使用者个人的订阅清单, 将订阅清单中的信息解析后, 再通过MySQL取得详细商品信息, 最后回传给使用者端, 使用者端会将结果解析显示, 而使用者也可以在订阅管理页面删除特定商品订阅。
除了一般使用者的订阅管理, 商店使用者也需要商品管理页面对商品的资料进行修改。当商店使用者按下商品管理的连结后, 会将修改内容送到后端, 而后端在修改完MySQL内的商品资料后, 会检查商品自己的订阅清单, 再利用email通知有订阅该商品的使用者, 商品的资料已经变更。
3、结论
系统提供了附近实体商店与商店内商品的搜索, 搭配电子地图的显示让使用者可以一目了然之外, 使用者还能增加自己的实体商店与商店内商品的信息到系统中, 而使用者对于有兴趣的商品, 可以订阅该商品以便能随时得到该商品的最新信息。
参考文献
[1]张卫丰, 徐宝文, 周晓宇, 等.Web搜索引擎综述[J].计算机科学, 2001, 28 (9) :24-28.
[2]许高建.基于Web的文本挖掘技术研究[J].计算机技术与发展, 2007, 17 (06) :187-190.
[3] Google.Google Maps JavaScriptAPI.2017.https://developers.google.com/maps/documentation/javascript/?hl=zh-tw.
伴随着互联网技术的蓬勃发展, 各种类别的企业信息与数据日益剧增。这不可避免涉及信息安全、身份安全校验、信息权限管控的问题。...