李博

摘要:本論文設計了一個提供附近商店的搜素、商店內商品的搜素與商品的訂閱追蹤的系統。使用該系統用戶也能增加自己的實體商店與商店內商品的信息到系統中。使用該系統能很好的把線上流量和線下消費資源相結合。
關鍵詞:LBS;電子商務;搜索引擎
引言
如何在眾多LBS服務上使使用者找到想要的信息成為LBS搜索引擎的重大挑戰之一。使用者需要更準確的搜索結果,一般搜索引擎已經不能滿足使用者的需求,此時,針對特定領域優化,以提供特定搜索結果的垂直搜索引擎,就慢慢發展起來。
目前的在LBS服務,使用者能方便尋找附近的商店,但是要從各個商店中找到需要的商品與價錢的比較,就非常地耗時與不容易,使用者如何在LBS中快速而且正確地找到自己需要的商品以及能隨時得到關注的商品的最新信息就成為了一個重要的議題。
通過本系統的設計,能夠讓使用者迅速找到合適的商品,并且提供各個商店的商品追蹤。在商品的搜索引擎中,我們先對商店提供的大量商品資料,依照定義的類別做預先處理與分類。在多樣的商品中,最后呈現給使用者的是吻合搜索條件商品的地理信息且經過分群的搜索結果。
1、背景知識
1.1 搜索引擎
搜索引擎的主要設計大致可分為:Crawler、Preprocessingand Mining、 Index和Userlnterface。
1) Crawler:網絡頁面資料的搜集是通過Crawler的自動化程序來抓取,也被稱為網頁Robot。一開始設定起始的網址,crawler會去抓這些網頁存放到后端,并從已抓取的網頁中取出需要的其他網頁連結,再根據這些網頁連結抓取其他的網頁,這樣就能大量搜集網絡上的網頁資料。
2) Processing ond Mining:網頁資料搜集完后,對資料進行分析,找出需要的部分,并對這些資料依種類去做不同處理。
3) Index:處理抓取完的網頁后,會對這些資料產生index,加快網頁資料內容查詢的速度。在網頁資料量不大時,能夠采取簡單的sequential搜索,但是當資料量變大時,會在資料上建立額外的資料結構以加快搜索,這些就稱為index,index就像一個查詢表,給定一個關鍵字就能通過index得知所有出現關鍵字的網頁與位置。
4) Userlnterfoce:前端的使用者界面負責對使用者下的搜索字符串做處理,并且呼叫內部搜索程序通過index來找尋符合的資料,然后將查詢到的資料,產生搜索結果頁面顯示。
1.2 Google Map JavaScript API
Google Maps JovoScript API可以讓Google Map嵌入至網頁中,在v3版本中的API能夠提供每日25000次地圖的載人,如果超過限制連續90天才會受到限制,但是非營利組織通過申請Google Earth Outsearch授權后可以不受使用限制的約束。
API除了提供地圖顯示的服務之外,還有導航、距離矩陣、海拔高度、地理編碼、街景等服務。
1.3 Google place API
用于在給定的范圍找到詳細的地方信息,與Google MAP和Google+ Locol使用相同Dotobase。提供Place Seorch、Plo ce Detail、Place Photo等服務。
2、系統簡介
2.1 系統架構
本系統架構主要是依循LAMP架構,分成以下幾個部分:
1) Google API:負責提供地理位置編碼處理與部分商店資料。
2)Web User Interfo ce:負責前端的界面顯示。
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上傳后,再通過GrophicMagick進行處理壓縮,而成功上架后會在Server端的商店個人文件夾中建立商品文件夾,與商品有關的資料都會存放在此,包含商品照片、商品訂閱清單等資料,并且會在MySQL中建立商店個人商品表。
(2)商品搜索流程
使用者進行商品查詢時,會先透過Google Map API將欲搜尋的商品所在地址轉成地理坐標編碼,再跟搜尋商品關鍵字、商品分類、排序條件一起傳到后端后,透過MySQL先把符合條件的附近商店資料取出,再從中找到每個商店內符合的商品資料。
將最后搜尋結果以JSON格式回傳給使用者端。另外,還會把搜尋時用的地理坐標編碼儲存起來,讓Google Crowler之后能夠進行更多商店的搜集。
當使用者端接到JSON格式的搜索結果后,會將結果解析,把商店位置標記在Google地圖上,并且對這些標記綁上點擊事件與顯示窗口。當點擊Google地圖中的標記后,會跳出一個信息窗口,窗口中會顯示商店簡介與搜索此商店內中所有商品的網頁連結。
除此之外,會在地圖外面插入一個結果頁面,將搜索結果顯示出來,如同標記一樣會綁上點擊事件,當選擇的商店結果被點擊后會把標記在Google地圖上的信息窗口調出,并且會在商店結果頁面上再插入一個此商店內商品結果頁面,將符合關鍵字的商品按照排序條件列出,同樣也對這些商品結果綁上點擊事件,當選擇的商品結果被點擊后會再插入一個此商品的簡介頁面。(如圖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.