摘要:實驗準備工作注冊阿里云用戶,實名認證并綁定支付寶開通數加服務開通后付費服務。開通大數據開發套件服務開通阿里云實名認證賬號訪問,開通,選擇按量付費進行購買。
摘要: 最近,經常有客戶咨詢如何低成本搭建高性能的海量數據搜索引擎,比如實現公眾號檢索、影訊檢索等等。由于客戶的數據在阿里云上,所以希望找到云上解決方案。筆者開始調研一些云上產品,很多人向我推薦了OpenSearch,所以花了點時間好好研究了下,用過之后發現效果不錯,自帶分詞、云數據庫同步功能,在研究過程中也發現了一些問題,分享給大家。
背景
最近,經常有客戶咨詢如何低成本搭建高性能的海量數據搜索引擎,比如實現公眾號檢索、影訊檢索等等。由于客戶的數據在阿里云上,所以希望找到云上解決方案。筆者開始調研一些云上產品,很多人向我推薦了OpenSearch,所以花了點時間好好研究了下,用過之后發現效果不錯,自帶分詞、云數據庫同步功能,在研究過程中也發現了一些問題,分享給大家。
接下來,我們開始用阿里云MaxCompute(原名ODPS)和OpenSearch來搭建一個影訊檢索的搜索引擎Demo,我有大約10GB數據,服務搭建只用了15分鐘,數據同步建索引大概用1個小時。因為選擇彈性計費,實驗費用大概花了幾十元。
先曬一下搜索效果,支持一些常用分詞語法,而且OpenSearch自帶了豐富的SDK和API,可以很方便的集成到線上業務。
實驗架構圖
搜索引擎架構在OpenSearch之上,是一個典型的分布式在線實時交互查詢架構,無單點故障,高伸縮、高可用,免運維,低成本。對大量信息的索引與搜索都可以在近乎實時的情況下完成,能夠快速實時搜索數十億的文件以及PB級的數據。
分布式數據庫架構在MaxCompute之上,是一種快速、完全托管的TB/PB級數據倉庫解決方案。MaxCompute向用戶提供了完善的數據導入方案以及多種經典的分布式計算模型,能夠更快速的解決用戶海量數據計算問題,有效降低企業成本,并保障數據安全。
實驗準備工作
1、注冊阿里云用戶,實名認證并綁定支付寶;
2、開通數加服務;
3、開通MaxCompute、OpenSearch 后付費服務。
實驗任務
1、用MaxCompute導入公開數據集;
2、用OpenSearch 創建應用,配置數據/索引結構、分詞;
3、全量導入數據,構建索引;
4、搜索效果測試。
第一步:購買并開通OpenSearch、MaxCompute、大數據開發套件服務
1.1 開通Opensearch服務
訪問https://www.aliyun.com/produc...,點擊立即開通,選擇后付費(按量付費)。
1.2 開通MaxCompute&大數據開發套件服務
1.2.1 開通 MaxCompute
阿里云實名認證賬號訪問https://www.aliyun.com/produc... ,開通 MaxCompute,選擇按量付費進行購買。
1.2.2 創建 MaxCompute project
進入數加管理控制臺,前面開通 MaxCompute 成功頁面,點擊管理控制臺,或者導航產品->大數據(數加)->MaxCompute 點擊管理控制臺。
創建項目
進入控制臺頁面后導航至“大數據開發套件->項目列表“,點擊”創建項目”,如圖所示:
在彈出框中選擇 I/O 后付費的付費方式,輸入項目名稱:
創建 MaxCompute 表
進入大數據開發套件的數據開發頁面,以開發者身份進入阿里云數加平臺>大數據開發套件>管理控制臺,點擊項目列表下對應項目操作欄中的進入工作區。
注意:如果首次使用數加平臺,需要先注冊數加開通AK。
第二步:通過大數據開發套件導入數據集到MaxCompute
進入大數據開發套件工作區后,我們先導入一份測試數據。
數據說明:筆者這里引用了一份MaxCompute公開數據集(正在公測),地址:https://yq.aliyun.com/article...,目前MaxCompute開放的數據類別包括:股票價格數據,房產信息,影視及其票房數據。所有的數據均被存儲在 MaxCompute 產品中的 public_data 項目中。
接下來,我們引用一份影視票房數據。
使用非常簡單,前提條件是開通MaxCompute&大數據開發套件;
在大數據開發套件中,新建腳本,命名opensearch_demo,在窗口執行如下語句。
add user ALIYUN$everyone;
執行完成后用戶項目空間下的所有成員均可讀取各公開數據集合。
驗證一下:
select * from public_data.dwd_product_movie_basic_info where movie_name like "%生化危機%" limit 10;
拷貝一份數據到自己的Project項目下,注意:OpenSearch里有主鍵概念,所以我們需要在MaxCompute中建主鍵,這里通過UUID函數實現。
在窗口執行如下語句:
create table alian.demo_opensearch_case2 as select uuid() as id,* from public_data.dwd_product_movie_basic_info ;
執行成功后,驗證一下數據;
select count(1) from alian.demo_opensearch_case2;
可以看到數據集已經創建好;
第三步:創建開放搜索應用
3.1 進入OpenSearch控制臺,點擊“創建應用”
3.2 選擇產品版本,筆者開通的是標準版。如果需要多表關聯搜索,請開通高級版,如果是單表查詢,標準版就可以。
3.3 輸入應用名稱MaxCompute_OpenSearch_Demo,地域選華東1(杭州),因為MaxCompute目前只有華東,否則數據鏈路不通,點擊下一步。
3.4 選擇“通過數據源方式創建應用結構”。可以快速由源表結構創建出初始的應用結構,節省手動構造的工作量,降低出錯概率。
3.5 選擇ODPS,剛才創建的表。
選擇剛才創建的ODPS項目及表demo_opensearch_case2
【注意】對于ODPS表中的STRING類型需要轉換為LITERAL后建主鍵。
3.6 配置索引、分詞及搜索展示內容
選擇movie_name、 director、scriptwriter、area、actors、type、movile_date、movie_language字段做索引,設置默認中文分詞方式。
添加展示字段,設置搜索結果內容。
3.7 創建完成
第四步:同步數據并創建索引
4.1 激活應用
選擇配額及QPS,我們用的數據集大概8G,所以開通的是10G配額,QPS采用默認項。
注意:MaxCompute(原ODPS)的數據是壓縮過的,我們用的數據SIZE壓縮后2GB,但實際是8GB,筆者之前購買了3GB的OpenSearch配額,結果導入失敗。
4.2開始構建索引
這里主要就是等等,筆者等了一個小時。
可以查看索引構建進度
第五步:搜索測試
打開應用管理->搜索測試,輸入任意影片,比如最近剛上映的摔跤 爸爸,然后自動匹配出相應的影訊信息,完成實驗。
MaxCompute提供的數據集很贊,數據量多、新鮮度很高。
總結:到這里,我們就完成了整個實驗,OpenSearch+MaxCompute筆者認為還是很方便,非常適合數據規模在100GB以上并且不希望高昂的運維成本和IT成本的企業。
原文鏈接
閱讀更多干貨好文,請關注掃描以下二維碼:
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/8822.html
摘要:實驗準備工作注冊阿里云用戶,實名認證并綁定支付寶開通數加服務開通后付費服務。開通大數據開發套件服務開通阿里云實名認證賬號訪問,開通,選擇按量付費進行購買。 摘要: 最近,經常有客戶咨詢如何低成本搭建高性能的海量數據搜索引擎,比如實現公眾號檢索、影訊檢索等等。由于客戶的數據在阿里云上,所以希望找到云上解決方案。筆者開始調研一些云上產品,很多人向我推薦了OpenSearch,所以花了點時間...
摘要:今天我們來介紹一下基于阿里云表格存儲,以及相關的大數據產品來采集與分析數據的方案。我們嘗試一種基于和阿里云其他大數據產品的新方案,我們先看架構圖圖中關鍵路徑分析頁等客戶端先通過埋點系統收集數據,然后通過表格存儲的將數據寫入的原始數據表。 摘要: 摘要 在互聯網高度發達的今天,ipad、手機等智能終端設備隨處可見,運行在其中的APP、網站也非常多,如何采集終端數據進行分析,提升軟件的品質...
摘要:更新日志更新完成靜態頁面原型修復使用的正確姿勢更新添加靜態頁面更新添加使用方法請戳我主要作用就是在你開發環節在后端同學還未開發完成的情況下,提供一個。 底下評論說是標題黨,或者是光扔個github地址上來的同學我就不說什么了。你們有看看倉庫的提交記錄么?我還沒有吃撐到開個倉庫去騙star.我的出發點就是每天更新一部分代碼,教大家用我所提到的技術棧搭建一個blog,我的出發點就是這么簡單...
閱讀 3564·2021-10-15 09:43
閱讀 3487·2021-09-02 15:21
閱讀 2193·2021-08-11 11:23
閱讀 3238·2019-08-30 15:54
閱讀 1923·2019-08-30 13:54
閱讀 3199·2019-08-29 18:35
閱讀 668·2019-08-29 16:58
閱讀 1736·2019-08-29 12:49