顯示具有 搜尋 標籤的文章。 顯示所有文章
顯示具有 搜尋 標籤的文章。 顯示所有文章

2017年11月21日 星期二

「餐廳」居網站關鍵字搜尋榜首 平民美食賞上陣

【大紀元9月7日報導】(中央社記者韋樞台北七日電)入口網站雅虎奇摩生活+中,餐廳搜尋排行榜冠軍是近300萬人次「小吃店」。為找出300元即可大快朵頤平民美食,雅虎舉行「平民美食大賞」,小吃店可上網報名,網友可試寫美食評鑑文章,即能到處品嚐美食,發覺俗又大碗的好康。
台灣人有多愛吃?雅虎奇摩生活+調查指出,上半年近400萬人次搜尋「餐廳」這個關鍵字,躍居搜尋排行榜冠軍;「小吃店」以近300萬搜尋人次榮登餐飲分類關鍵字搜尋榜首,顯示平易近人美食已成網友新寵。
酷愛美食族群以尚在累積經濟能力階段的21到29歲為主。因此,雅虎奇摩希望幫民眾們找出300元便能大快朵頤平民美食,除提供店家免費行銷有效管道,更讓老饕們有機會免費試吃平民美食。
雅虎奇摩指出,排行榜中10個熱門搜尋關鍵字中,有6個與吃有關,包括「餐廳」、「小吃」、「日本料理」、「吃到飽」、「咖啡簡餐」、「港式飲茶」等,這印證「民以食為天」。
雅虎奇摩生活+的「平民美食大賞」活動今天開跑,凡單人消費水準在300元以內的餐廳店家均可報名。
這項活動分兩階段,首先從所有報名參賽店家中選出50名入圍者,再由平民美食團、網友票選及雅虎奇摩編輯三方綜合評鑑中,選出Top 20平民美食餐廳,並頒發雅虎奇摩生活+獎盃或獎狀等。
平民美食團將招募20組,只要民眾提供1000字試寫美食評鑑文章參加評選,入選後即可到50家餐廳免費試吃平民美食,並有機會獲得1萬元獎金。
第二階段(9月26日到10月14日)進行全民票選,開放給所有民眾參與。民眾只需至活動網頁上,對50家入選餐廳發表意見,即有機會獲得1萬元試吃金與SonyMP3隨身聽等大獎,有吃又有拿。

金融木馬也講究SEO優化!駭客靠SEO提高受害網站的Google搜尋排序,來散布金融木馬

思科旗下的安全研究團隊Talos近日揭露一新型態的金融木馬散布途徑,顯示駭客直接入侵合法網站,同時利用Google搜尋來觸及受害者,而非利用網釣或是零時差漏洞等傳統手法來散布惡意程式。
駭客的作法是先列出熱門的關鍵字名單,這份名單是根據使用者最常搜尋的金融相關字串進行最佳化,且鎖定印度與中東市場。繼之入侵高評價的合法網站,並嵌入上述的熱門關鍵字以協助這些網站進行搜尋引擎最佳化(SEO),確保它們在搜尋結果中的排序。
Talos是從駭客所選擇的關鍵字來判斷駭客的目標對象,例如「印度karur vysya銀行的帳號有幾個數字?」,或是「沙烏地阿拉伯銀行al rajhi在齋戒月的營業時間?」。
研究顯示,搜尋引擎用戶通常只點選搜尋結果中的前幾筆連結,才使得SEO愈來愈盛行,而Talos亦發現,駭客有本事讓搜尋結果的第一頁就出現多筆惡意網頁。
當使用者點選了被駭客操縱的網頁之後,最終會被引導至下載惡意的Word文件,執行後就會被植入Zeus Panda金融木馬。Zeus Panda整合了多項技術以閃避偵測,並於適當時機竊取使用者的金融或其他機密憑證。
儘管使用者可能很難從搜尋結果中辨識這些已被駭客操控的網頁,但仍然有機會在下載或執行惡意Word文件時懸崖勒馬。

【東南亞最大叫車服務Grab揭露三大技術關鍵】億級搜尋平臺如何又快又準又穩定

東南亞最大的叫車服務平臺Grab,和Uber、滴滴打車類似,主要的業務都是處理叫車服務,服務的範圍涵蓋全東南亞地區的國家,包含緬甸、泰國、越南、馬來西亞、新加坡和菲律賓等國的132個城市,共有180萬個司機。Grab在2012年才創立,在短短的幾年內,目前一年已經超過10億次的搭乘次數,不過,業務突然增長也為Grab帶來挑戰。
Grab資深工程師吳煒彬表示,由於叫車平臺需要用戶輸入起始點和終點的地理位置資訊,平臺每天大約需處理數億多個地理位置查詢請求,要如何提供毫秒級的查詢服務,還要兼顧搜尋結果的準確性,是Grab服務爆紅後最大的難題。
Grab在2013年時決定導入這個知名的開源搜尋工具Elasticsearch,來因應多種資料查詢和Log追蹤的需求。在Grab團隊中,一手包辦所有Elasticsearch叢集管理工作的吳煒彬,他解釋,當時為了方便保存和搜尋MySQL的稽核Log日誌檔。原本所有MySQL資料庫中的變動都儲存在文字格式的Log檔中,管理不易,更難以追蹤。於是,Grab改將Log記錄寫入Elasticsearch中儲存,透過Elasticsearch,可以搜尋MySQL的每一次存取,每個欄位的任一項數值異動。
Elasticsearch是荷蘭一位開發者Shay Banon在2010年推出的的開源分散式搜尋分析系統,使用Apache Lucene來儲存JSON文件,也可提供全文搜尋的功能。因為Elasticsearch具有高可擴充性(Scalability)與可用性(Availability)的特質,再加上資料處理效能高,許多企業都採用了Elasticsearch,就連維基百科、GitHub、英國衛報、Stackoverflow等網站,都用Elasticsearch來處理內容搜尋與資料處理分析的工作。
吳煒彬表示,保存Log記錄是Elasticsearch常見的應用方式,透過Elasticsearch來儲存Log檔,有助於用可視化的形式來呈現Log搜尋的結果,不過,Grab不僅用Elasticsearch來儲存Log檔,後來,更進一步透過Elasticsearch來搜尋叫車服務的熱門地點(POI,Point of interest)。這是叫車服務中,影響車輛調度效率,最關鍵的參考資訊。
在叫車服務中,設定路線是影響用戶體驗的第一個關鍵,用戶打開Grab叫車App後,需輸入用戶姓名、地址和附近建築物的類型等,再透過搜尋欄位來輸入上下車的位置。
Grab提供了3種搜尋方式,第一種是就近搜尋,也就是當用戶打開App後,會自動偵測用戶所在位置,透過詢問的方式與用戶確認上車位置,第二種則是以用戶地理位置為基礎的文字搜尋,透過用戶輸入的地址來搜尋出發地和目的地。
第三種搜尋方式比較特別,若用戶不知道自己所在的位置,可以透過逆向搜尋的方式來搜尋上車地址,舉例來說,用戶可以輸入附近的商店、鄰近的街道名稱,並透過地圖將自己的位置定位出來,就能找到用戶目前所在的位置。
來自132國的Grab用戶,每天透過App查詢地點來叫車的地理資料查詢次數,累計多達數億次,這是叫車App中最常用的第一項功能。為了簡化用戶輸入過程,不論用哪一種搜尋方式,叫車App都會提供相關地點選單,推薦10~30個地址或地點的清單,讓用戶點選,來簡化輸入過程,也能減少對後端系統的負擔。

根據不同業務場景,訂製出合適的搜尋策略

由於Grab叫車服務遍及東南亞各國,吳煒彬指出,用戶所用語言和地址資訊也有很大的差異,因此,Grab得根據不同國家的用語特色和慣用地址描述方式,來客製每個國家的搜尋機制。
尤其,「語言的分詞機制會影響了龐大地理位置搜尋任務的效率,」吳煒彬表示,東南亞的語言,每個單詞都是連在一起的,不像英文每個單詞中間會有空格,因此,系統必須分析整個句子,才能根據語法,正確解析每一句的意思,Grab為了解決語言的問題,創造多個不同的語言分析器,將索引的方式分成不同的版本。
不過,「Elasticsearch跟一般資料庫不同的是,Elasticsearch使用逆向索引(Inverted index)的機制!」吳煒彬解釋,一般的正向索引每一行就是一筆資料,每一列就是該筆資料不同的屬性,Elasticsearch則是完全相反,每一行是屬性,而每一列是一個Host,Host中有單筆資料的編號(Document id),
簡單來說,Elasticsearch在寫入3筆地址資料時,會先根據分詞萃取出文字(Term),在合併(Merge)之後,比對出每個文字重複出現在那些資料編號中,並將該資訊記錄下來。
舉例來說,編號1的資料只有Grab辦公室的名稱,編號2資料則是Grab辦公室的地址,編號3資料包含Grab辦公室名稱和經緯度,因此 3筆資料同時被寫入Elasticsearch時,Elasticsearch會先合併,將相同的關鍵字提出來,因此,用戶搜尋Grab時,Elasticsearch就能快速搜尋到與Grab關鍵字相關的資料編號,並將搜尋到的結果提供給用戶。
也因此,Elasticsearch逆向索引的特性,讓Grab每天面對數億筆查詢的服務量,可以提供用戶毫秒級的查詢服務,但是,只有速度還不夠,Grab還要解決另一個挑戰是查詢結果的準確性。

提高搜尋準確度的關鍵:評分系統搭配權重機制

為了因應不同的業務場景,Grab在用戶搜尋地理位置的過程中,加入權重的機制,將不同的搜尋關鍵字,依照業務場景來調整,透過該評分系統,提供更準確的搜尋結果。
在用戶輸入搜尋的文字後,系統會透過比對關鍵字與資料庫裡的每筆資料的相對應程度,像是10個字元中,有幾個字元相同,或是這個關鍵字出現的次數,綜合以上結果,算出一個分數再乘以不同的權重,最後,每個鍵值(Key-value)的資料欄位都會有一個分數,系統再選擇前10或是20得分高的結果,提供給用戶。
而不同國家的地址資訊也會有不同的特色,吳煒彬指出,郵遞區號在越南不太明確也較少人使用,但是,在新加坡每棟建築物都有不同的郵遞區號,因此,根據郵遞區號就能找到非常準確的地理位置。
由於不同國家地址資訊的差異,Grab調整搜尋的策略,加入了權重的機制,若用戶在越南用郵遞區號搜尋,系統則會忽略該欄位,將郵遞區號搜尋的權重調整到最低,但是在新加坡,系統就會將郵遞區號的搜尋權重調整到最高。
吳煒彬認為,加入權重的機制,還能夠讓大範圍的搜尋也不會出錯,他舉例,用戶搜尋臺北時,臺北101和一家位於九份名為臺北牛肉麵商店,相關度的分數會相同,但是加入權重機制,可以考慮其他資料欄位的得分,因為臺北101的地址欄位也會含有臺北的字元,因此綜合計算分數後,臺北101的得分會比九份的臺北牛肉麵高。
另外,Grab也採用邊緣語言模型Edge NGRAM分析器,來預測用戶輸入的行為,在用戶輸入的過程中,當用戶輸入兩個字元,系統就會提供用戶相關的字。
以「Cecil office」為例,Grab將最小邊緣和最大邊緣定義為2和8個位元,也就是說,從2個位元到8個位元先總共儲存了7個索引,因此,在用戶輸入「Ce」兩個字元時,系統就會開始出現相關的索引結果, 若使用者輸入的字元越多,得到的結果也會越正確。

建立資料庫的監控和警示系統,確保服務不中斷

除了查詢地理位置速度要快,搜尋結果又要準確之外,Grab億級搜尋平臺的第三個挑戰是,服務更不能中斷,吳煒彬表示,開源版本的Elasticsearch並沒有提供監控和警示的功能,於是,Grab用Go語言開發一套Elasticsearch Proxy系統,來擷取所有https的請求資訊,包括來源IP位址、回應時間、查詢內容等,將這些Log檔儲存下來後,可加入其他Log分析系統,像是Scalyr,或是用Elasticsearch 提供的Log收集分析平臺Elk(Elasticsearch、Logstash、Kibana的簡稱)。
但是,擁有監控的機制還不夠,由於Elasticsearch去中心化叢集的特性,會造成當程式指定接收查詢的伺服器不能運作,服務就會有癱瘓的風險,在Elasticsearch運作機制中,每一個伺服器是一個節點,由多個伺服器組成叢集,每一臺伺服器同時有3個角色:Masternode、Datanode和用來解析Log的Ingestnode,每臺伺服器都可以接受查詢請求,接收到查詢請求的伺服器,會透過搜尋叢集的資訊,將需要查詢的資訊發送到相對應的伺服器上,每一臺伺服器都會將查詢執行一遍,得到結果後,再將結果回傳給接收請求的伺服器,最後,由接收請求的伺服器將所有查詢結果排序後,回送給用戶查詢結果。
為了避開指定伺服器運作影響服務的風險,Grab採用輪替式DNS(DNS round robin)的機制,透過DNS主機設定多組IP,來分散風險之外,還能達到負載平衡,讓每臺伺服器都能輪流接收查詢請求,因為整合查詢結果的工作,需要消耗CPU資源,輪替的方式可以確保資源消耗不會集中在單一一臺伺服器上。
不過,吳煒彬坦言,這個作法會衍生一個問題,若其中有一臺伺服器當機了,DNS主機不會得知,仍舊會將查詢請求送至這臺當機的伺服器,就無法回傳查詢結果,他推算,約80%的查詢可以成功,但有20%失效的風險。
為了解決這個問題,Grab用AWS 的Elasticsearch服務所提供的心跳查詢功能,檢測每一臺伺服器的健康程度,若與某一臺伺服器的心跳查詢失敗,DNS主機就不會將請求發送至該伺服器。
心跳查詢解決了2成失效的風險,但又產生了另一個問題,吳煒彬補充,由於Elasticsearch去中心化叢集的特性,一臺伺服器同時是Master和Slave,若某一臺伺服器的Datanode查詢,占了大部分的CPU和記憶體資源,就會影響到Masternode 的使用,Masternode無法執行心跳查詢,確保伺服器的健康狀況,可能導致服務中斷。
後來,Grab決定將Masternode獨立出來,作為Masternode的伺服器不 需要太多儲存空間,也不需要高效能的CPU和記憶體,只需要管理叢集的資訊,並即時反饋ELB心跳查詢的結果,而Datanode因為要處理查詢請求,需要比較高效能的CPU和記憶體,以及儲存資源。
Grab在Elasticsearch的部署上,一開始自行用開源的程式建立部署,後來因為監控和警示的功能,採用了AWS提供的Elasticsearch服務,監控的功能整合到Cloudwatch上,較方便監控。
不過,吳煒彬指出,AWS的Elasticsearch服務為了方便管理,禁用了Endpoint,且用戶權限管理系統也不完善,若企業要在叢集中加入新的用戶權限,假設整個叢集有10個節點,AWS的作法是先建立10個新節點,並將原來10個節點的數據,發送到新的節點上,但是,「數據遷移時,容易對原來的叢集產生性能上的影響。」他說。
Grab最終採用了Elasticsearch的企業版本,原因是Elasticsearch的企業版本涵蓋了AWS上所提供的功能,也提供商業化的插件(Plug-in),像是監控和警示的功能,另外,企業版提供用戶權限管理系統,增加新的用戶權限,不需要經過數據遷移。
「以前是透過查詢找數據,現在可以透過數據來找查詢!」吳煒彬表示,未來,Grab還預計透過真實數據來驗證每一條查詢規則的關係,進而分析更複雜的用戶行為,針對個人推出客製化的銷售策略,舉例來說,若某一個時段的一個路線有許多查詢,代表這些查詢之間是競爭的關係,因此,Grab就能在叫車的尖峰時段提供收費,或是也能透過用戶查詢搭車路線的規則,將用戶分類成通勤族、遊客等不同類別的用戶,推出適合用戶行為的優惠方案。

網路趨勢-商品時代來臨 靠網站增銷售

部落格雖然被社群網路壓制住了,但是做為自家網站的集客手法,依舊是很有效的工具。只要在部落格上寫文章增加頁數,就比較容易被搜尋到,可以經由搜尋增加新顧客。而對缺乏集客力的自家網站而言,這種「不花錢就能提升營業額的方法」可說是非常珍貴。另外,部落格也比較容易表現出工作人員的個性,可以當成一種培養粉絲的情報發信工具善加利用。
撰寫部落格的內容時,請盡可能留意關鍵字搜尋。只要在寫的時候一邊思考:「下什麼關鍵字可以查到自己的網站?」就能讓部落格有集客力。至於字數,一篇文章1500~2000字左右最為理想。然而,剛開始寫部落格就要一下子寫那麼多字,將會是很大的壓力。但寫部落格的重點在於持之以恆,所以起初以500字左右為目標即可,再一點一點的增加字數就好了。
至於內容,店裡或工作人員私底下的故事比較容易打動消費者。記得要加上照片,盡量寫些開心的事。部落格上有工作人員的照片,更能讓消費者產生親切感,讓消費者成為粉絲。請盡可能全面性的在文章裡打出「人」這張牌。
若是文案,簡潔有力行銷效果較好,但如果是商品說明,長篇大論反而比較容易刺激銷售量。當然不能寫成狗屁不通、又臭又長的文章,但文章字數愈多,讀者的理解就能更深入,購買商品的機率也愈高。此外,純文字的文章一多,可以搜尋的關鍵字也會隨之增加,比較容易被搜尋到。
或許有人會這麼想,但那是因為這種人並非真的「想買」那項商品。人對於想買的東西或感興趣的商品,就會想知道更多資訊。換句話說,真正想購買商品的消費者就連長篇大論也會仔細閱讀。
要寫出長篇大論又流暢好讀的文章,祕訣在於在文章開頭就要引起讀者的注意。尤其文章若從「結論」開始寫起,消費者可以邊看邊想像整篇文章的模樣,所以就算是長篇大論,也很有可能閱讀到最後。
相反的,開頭寫得又臭又長的文章,會讓讀者打從一開始就失去興趣,沒兩下就沒心情再讀下去了。光要閱讀網路長文就是一項壓力,如果開頭不能抓住目光,讀者馬上就會跳轉到其他頁面。
也有很多人不擅長寫長文,要克服這點,只能持之以恆的寫文章。根據我的經驗,不管再怎麼不擅長寫文章的人,只要一整年鍥而不捨的寫文章,肯定能將文筆提升到一定的水準。
(摘自本書初級篇)
(工商時報)